12010-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
262010-05-24  Anders Carlsson  <andersca@apple.com>
27
28        Try to fix build.
29
30        * plugins/npapi.cpp:
31        (NPN_ReloadPlugins):
32
332010-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
502010-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
622010-05-24  Jeremy Orlow  <jorlow@chromium.org>
63
64        Unreviewed.  Checked in merge error.  :-(
65
66        * CMakeLists.txt:
67
682010-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
842010-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
1062010-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
1452010-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
1822010-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
1932010-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
2062010-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
2282010-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
2542010-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
2702010-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
2992010-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
3522010-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
3822010-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
3982010-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
4322010-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
4572010-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
4712010-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
5082010-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
5242010-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
5412010-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
5652010-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
5772010-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
5972010-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
6212010-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
6352010-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
6582010-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
6742010-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
6942010-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
7172010-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
7312010-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
7592010-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
7712010-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
7862010-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
7952010-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
8102010-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
8202010-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
8382010-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
8622010-05-21  Mark Rowe  <mrowe@apple.com>
863
864        60,000!
865
866        * ChangeLog: Point out revision 60,000.
867
8682010-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
9492010-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
9572010-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
10442010-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
10562010-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
10792010-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
10952010-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
11162010-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
12582010-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
12752010-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
12832010-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
12962010-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
13122010-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
13772010-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
14152010-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
14252010-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
14402010-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
14562010-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
14692010-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
14852010-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
15002010-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
15092010-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
15182010-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
15592010-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
15712010-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
15842010-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
16002010-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
16152010-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
16402010-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
16532010-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
16612010-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
16732010-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
16982010-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
17092010-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
17242010-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
17532010-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
17892010-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
18022010-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
18132010-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
18232010-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
18332010-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
18722010-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
18812010-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
19022010-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
19132010-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
19562010-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
20682010-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
20832010-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
21262010-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
21382010-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
21572010-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
21842010-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
21992010-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
22262010-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
22452010-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
22532010-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
23002010-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
23092010-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
23232010-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
23352010-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
23512010-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
23762010-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
23982010-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
24132010-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
24262010-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
24812010-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
24942010-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
25132010-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
25422010-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
25532010-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
25712010-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
25872010-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
26002010-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
26422010-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
27412010-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
27482010-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
27692010-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
27842010-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
28372010-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
28492010-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
28642010-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
28732010-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
28952010-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
29232010-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
29322010-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
29402010-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
29582010-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
30702010-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
31102010-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
31312010-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
32052010-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
32162010-05-19  Jeremy Orlow  <jorlow@chromium.org>
3217
3218        Unreviewed build fix for Chromium.
3219
3220        * storage/IndexedDatabaseImpl.cpp:
3221
32222010-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
32462010-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
32602010-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
32682010-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
32872010-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
33112010-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
33342010-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
33612010-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
33852010-05-18  Adam Barth  <abarth@webkit.org>
3386
3387        Reviewed by Eric Seidel.
3388
3389        Make the HTML5 parser actually parse <div></div>
3390        https://bugs.webkit.org/show_bug.cgi?id=39342
3391
3392        This patch is covered by every LayoutTest.  Yes.  All of them.  :)
3393
3394        * html/HTML5Lexer.cpp:
3395        (WebCore::toLowerCase):
3396        (WebCore::HTML5Lexer::HTML5Lexer):
3397        (WebCore::HTML5Lexer::nextToken):
3398        (WebCore::HTML5Lexer::emitCharacter):
3399        * html/HTML5Lexer.h:
3400        * html/HTML5Token.h:
3401        (WebCore::HTML5Token::HTML5Token):
3402        (WebCore::HTML5Token::beginStartTag):
3403        (WebCore::HTML5Token::beginEndTag):
3404        (WebCore::HTML5Token::appendToName):
3405        (WebCore::HTML5Token::type):
3406        (WebCore::HTML5Token::name):
3407        (WebCore::HTML5Token::selfClosing):
3408        (WebCore::HTML5Token::attrs):
3409        * html/HTML5Tokenizer.cpp:
3410        (WebCore::convertToOldStyle):
3411        (WebCore::HTML5Tokenizer::write):
3412
34132010-05-18  Tony Chang  <tony@chromium.org>
3414
3415        Reviewed by Ojan Vafai.
3416
3417        REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
3418        https://bugs.webkit.org/show_bug.cgi?id=38232
3419
3420        Test: editing/execCommand/crash-indenting-list-item.html
3421
3422        * editing/IndentOutdentCommand.cpp:
3423        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
3424        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
3425
34262010-05-18  Kent Tamura  <tkent@chromium.org>
3427
3428        Reviewed by Darin Adler.
3429
3430        ':optional' pseudo selector should not be applied to <keygen> and <progress>
3431        https://bugs.webkit.org/show_bug.cgi?id=39292
3432
3433        Test: fast/css/pseudo-required-optional-unapplied.html
3434
3435        * html/HTMLKeygenElement.h:
3436        (WebCore::HTMLKeygenElement::isOptionalFormControl):
3437          Add isOptionalFormControl() returning false.
3438          HTMLKeygenElement inherits HTMLSelectElement, which should return true
3439          for isOptionalFormControl(). However, <keygen> is not :optional
3440          according to the standard.
3441        * html/HTMLProgressElement.h:
3442          Remove isOptionalFormControl().
3443
34442010-05-18  Adam Barth  <abarth@webkit.org>
3445
3446        Reviewed by Eric Seidel.
3447
3448        Implement the DOCTYPE states for the HTML5 lexer
3449        https://bugs.webkit.org/show_bug.cgi?id=39335
3450
3451        * html/HTML5Lexer.cpp:
3452        (WebCore::HTML5Lexer::nextToken):
3453        (WebCore::emitCurrentDoctypeToken):
3454        * html/HTML5Lexer.h:
3455
34562010-05-18  Tony Chang  <tony@chromium.org>
3457
3458        Reviewed by Ojan Vafai.
3459
3460        [chromium] ignore IME events if the keydown event was prevented
3461        https://bugs.webkit.org/show_bug.cgi?id=37692
3462
3463        A manual test to verify the IME behavior since the existing methods of
3464        textInputController test at a lower level than the fix.
3465
3466        * manual-tests/ime-keydown-preventdefault.html: Added.
3467
34682010-05-18  Sam Weinig  <sam@webkit.org>
3469
3470        Fix the build for platforms that don't always include UnusedParam.h
3471
3472        * dom/Attribute.cpp:
3473
34742010-05-18  MORITA Hajime  <morrita@google.com>
3475
3476        Reviewed by Kent Tamura.
3477
3478        [Chromium] Windows: Determinate progress bar should have glossy overlay
3479        https://bugs.webkit.org/show_bug.cgi?id=39269
3480        
3481        - Moved animation code from RenderThemeChromiumWin to chromium tree
3482          because it should be behind the theme implementation, which lives
3483          in chromium tree.
3484        - Passed current time to the bridge, which will be used to compute
3485          the state of the theme animation.
3486        
3487        No new tests, animation effect can be confirmed only manually.
3488        
3489        * platform/chromium/ChromiumBridge.h:
3490        * rendering/RenderProgress.h:
3491        (WebCore::RenderProgress::animationStartTime): Added.
3492        * rendering/RenderThemeChromiumWin.cpp:
3493        (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
3494        (WebCore::RenderThemeChromiumWin::paintProgressBar):
3495
34962010-05-18  Sam Weinig  <sam@webkit.org>
3497
3498        Fix release build.
3499
3500        * dom/Attribute.cpp:
3501        (WebCore::Attribute::unbindAttr):
3502
35032010-05-18  Sam Weinig  <sam@webkit.org>
3504
3505        Reviewed by Maciej Stachowiak.
3506
3507        Move Attr pointer from Attribute to a global HashMap.
3508        https://bugs.webkit.org/show_bug.cgi?id=39337
3509        <rdar://problem/8001168>
3510
3511        Shaves another word off of Attribute.
3512
3513        * dom/Attr.cpp:
3514        (WebCore::Attr::Attr):
3515        (WebCore::Attr::~Attr):
3516        * dom/Attribute.cpp:
3517        (WebCore::attributeAttrMap):
3518        (WebCore::Attribute::attr):
3519        (WebCore::Attribute::createAttrIfNeeded):
3520        (WebCore::Attribute::bindAttr):
3521        (WebCore::Attribute::unbindAttr):
3522        * dom/Attribute.h:
3523        (WebCore::Attribute::Attribute):
3524
35252010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
3526
3527        Unreviewed, forgot to svn add source file in r59619.
3528        http://trac.webkit.org/changeset/59619
3529
3530        * platform/image-decoders/openvg: Added.
3531        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
3532        (WebCore::RGBA32Buffer::asNewNativeImage):
3533
35342010-05-18  Yaar Schnitman  <yaar@chromium.org>
3535
3536        Unreviewed, rolling out r59693.
3537        http://trac.webkit.org/changeset/59693
3538        https://bugs.webkit.org/show_bug.cgi?id=37815
3539
3540        Broke GTK Release
3541
3542        * Android.jscbindings.mk:
3543        * CMakeLists.txt:
3544        * GNUmakefile.am:
3545        * WebCore.gypi:
3546        * WebCore.pro:
3547        * WebCore.vcproj/WebCore.vcproj:
3548        * WebCore.xcodeproj/project.pbxproj:
3549        * bindings/js/JSBindingsAllInOne.cpp:
3550        * bindings/js/JSCallbackData.cpp:
3551        (WebCore::JSCallbackData::invokeCallback):
3552        * bindings/js/JSEventListener.cpp:
3553        (WebCore::JSEventListener::handleEvent):
3554        * bindings/js/JSInjectedScriptHostCustom.cpp:
3555        (WebCore::InjectedScriptHost::createInjectedScript):
3556        * bindings/js/JSMainThreadExecState.cpp: Removed.
3557        * bindings/js/JSMainThreadExecState.h: Removed.
3558        * bindings/js/ScheduledAction.cpp:
3559        (WebCore::ScheduledAction::executeFunctionInContext):
3560        (WebCore::ScheduledAction::execute):
3561        * bindings/js/ScheduledAction.h:
3562        * bindings/js/ScriptController.cpp:
3563        (WebCore::ScriptController::evaluateInWorld):
3564        * bindings/js/ScriptController.h:
3565        * bindings/js/ScriptFunctionCall.cpp:
3566        (WebCore::ScriptFunctionCall::call):
3567        * bindings/objc/ObjCEventListener.mm:
3568        * bindings/objc/WebScriptObject.mm:
3569        (-[WebScriptObject callWebScriptMethod:withArguments:]):
3570        (-[WebScriptObject evaluateWebScript:]):
3571        * bindings/scripts/CodeGeneratorObjC.pm:
3572        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3573        (-[DOMTestCallback callbackWithClass1Param:]):
3574        (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3575        (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3576        (-[DOMTestCallback customCallback:class6Param:]):
3577        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3578        * bindings/scripts/test/ObjC/DOMTestObj.mm:
3579        (-[DOMTestObj readOnlyIntAttr]):
3580        (-[DOMTestObj readOnlyStringAttr]):
3581        (-[DOMTestObj readOnlyTestObjAttr]):
3582        (-[DOMTestObj intAttr]):
3583        (-[DOMTestObj setIntAttr:]):
3584        (-[DOMTestObj longLongAttr]):
3585        (-[DOMTestObj setLongLongAttr:]):
3586        (-[DOMTestObj unsignedLongLongAttr]):
3587        (-[DOMTestObj setUnsignedLongLongAttr:]):
3588        (-[DOMTestObj stringAttr]):
3589        (-[DOMTestObj setStringAttr:]):
3590        (-[DOMTestObj testObjAttr]):
3591        (-[DOMTestObj setTestObjAttr:]):
3592        (-[DOMTestObj attrWithException]):
3593        (-[DOMTestObj setAttrWithException:]):
3594        (-[DOMTestObj attrWithSetterException]):
3595        (-[DOMTestObj setAttrWithSetterException:]):
3596        (-[DOMTestObj attrWithGetterException]):
3597        (-[DOMTestObj setAttrWithGetterException:]):
3598        (-[DOMTestObj customAttr]):
3599        (-[DOMTestObj setCustomAttr:]):
3600        (-[DOMTestObj scriptStringAttr]):
3601        (-[DOMTestObj voidMethod]):
3602        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3603        (-[DOMTestObj intMethod]):
3604        (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3605        (-[DOMTestObj objMethod]):
3606        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3607        (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3608        (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3609        (-[DOMTestObj serializedValue:]):
3610        (-[DOMTestObj methodWithException]):
3611        (-[DOMTestObj customMethod]):
3612        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3613        (-[DOMTestObj customArgsAndException:]):
3614        (-[DOMTestObj addEventListener:listener:useCapture:]):
3615        (-[DOMTestObj removeEventListener:listener:useCapture:]):
3616        (-[DOMTestObj withDynamicFrame]):
3617        (-[DOMTestObj withDynamicFrameAndArg:]):
3618        (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3619        (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3620        (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3621        (-[DOMTestObj withScriptStateVoid]):
3622        (-[DOMTestObj withScriptStateObj]):
3623        (-[DOMTestObj withScriptStateVoidException]):
3624        (-[DOMTestObj withScriptStateObjException]):
3625        (-[DOMTestObj methodWithOptionalArg:]):
3626        (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3627        (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3628        * bindings/v8/ScriptController.cpp:
3629        * bindings/v8/ScriptController.h:
3630        * html/HTMLFrameElementBase.cpp:
3631        (WebCore::HTMLFrameElementBase::isURLAllowed):
3632
36332010-05-18  Adam Barth  <abarth@webkit.org>
3634
3635        Reviewed by Eric Seidel.
3636
3637        Implement comment states for HTML5 lexer
3638        https://bugs.webkit.org/show_bug.cgi?id=39334
3639
3640        * html/HTML5Lexer.cpp:
3641        (WebCore::HTML5Lexer::nextToken):
3642
36432010-05-18  Anders Carlsson  <andersca@apple.com>
3644
3645        Reviewed by Sam Weinig.
3646
3647        Move all member variables from MappedAttribute to Attribute.
3648        https://bugs.webkit.org/show_bug.cgi?id=39336
3649        <rdar://problem/8000853>
3650
3651        This saves one word because we no longer have any virtual member functions in Attribute, and
3652        thus no vtable pointer.
3653        
3654        I plan to remove MappedAttribute altogether in a subsequent commit.
3655
3656        * Android.mk:
3657        * GNUmakefile.am:
3658        * WebCore.gypi:
3659        * WebCore.pro:
3660        * WebCore.vcproj/WebCore.vcproj:
3661        * WebCore.xcodeproj/project.pbxproj:
3662        * css/CSSStyleSelector.cpp:
3663        (WebCore::CSSStyleSelector::styleForElement):
3664        * dom/Attribute.cpp:
3665        (WebCore::Attribute::clone):
3666        * dom/Attribute.h:
3667        (WebCore::Attribute::create):
3668        (WebCore::Attribute::style):
3669        (WebCore::Attribute::decl):
3670        (WebCore::Attribute::setDecl):
3671        (WebCore::Attribute::isMappedAttribute):
3672        (WebCore::Attribute::Attribute):
3673        * dom/MappedAttribute.cpp: Removed.
3674        * dom/MappedAttribute.h:
3675        (WebCore::MappedAttribute::create):
3676        (WebCore::MappedAttribute::MappedAttribute):
3677        (WebCore::toMappedAttribute):
3678        * dom/NamedMappedAttrMap.cpp:
3679        (WebCore::NamedMappedAttrMap::declCount):
3680        (WebCore::NamedMappedAttrMap::mapsEquivalent):
3681        * dom/StyledElement.cpp:
3682        (WebCore::StyledElement::attributeChanged):
3683        * svg/SVGSVGElement.cpp:
3684        (WebCore::updateCSSForAttribute):
3685        * svg/SVGStyledElement.cpp:
3686        (WebCore::SVGStyledElement::getPresentationAttribute):
3687
36882010-05-18  Tony Chang  <tony@chromium.org>
3689
3690        Reviewed by Darin Adler.
3691
3692        https://bugs.webkit.org/show_bug.cgi?id=24943
3693        Command-B and Command-I do not generate keydown events in contentEditable regions.
3694
3695        * manual-tests/style-keypress-events.html: Added.
3696
36972010-05-18  Adam Barth  <abarth@webkit.org>
3698
3699        Reviewed by Eric Seidel.
3700
3701        Add more state to the HTML5 lexer
3702        https://bugs.webkit.org/show_bug.cgi?id=39333
3703
3704        This code is just transliteration from the spec.
3705
3706        * html/HTML5Lexer.cpp:
3707        (WebCore::HTML5Lexer::HTML5Lexer):
3708        (WebCore::HTML5Lexer::nextToken):
3709        * html/HTML5Lexer.h:
3710
37112010-05-18  Adam Barth  <abarth@webkit.org>
3712
3713        Reviewed by Eric Seidel.
3714
3715        Implement two more lexer states
3716        https://bugs.webkit.org/show_bug.cgi?id=39298
3717
3718        No tests because Eric is still working on wiring up the lexer to the
3719        test harness.
3720
3721        * html/HTML5Lexer.cpp:
3722        (WebCore::HTML5Lexer::nextToken):
3723        (WebCore::HTML5Lexer::emitParseError):
3724        (WebCore::HTML5Lexer::emitCurrentTagToken):
3725        * html/HTML5Lexer.h:
3726
37272010-05-18  Brady Eidson  <beidson@apple.com>
3728
3729        Reviewed by Maciej Stachowiak.
3730
3731        Repro crash with many Google image search results
3732        <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323
3733
3734        When an iframe has a plugin resource as its src, that case bypassed the plugin sandboxing checks and continued to load
3735        the data for the plugin resource. It handed that data off to a nonexistent Widget, causing a null deref and the crash.
3736
3737        By replacing PluginDocuments in sandboxes iframes with a new "SinkDocument" that just acts as a data sink, we prevent the
3738        crash and also prevent actually loading the plugin binaries.
3739
3740        I filed https://bugs.webkit.org/show_bug.cgi?id=39330 to follow up and let us cancel the load as soon as we know we should.
3741
3742        Test: fast/loader/sandboxed-plugin-crash.html
3743
3744        * CMakeLists.txt:
3745        * GNUmakefile.am:
3746        * WebCore.gypi:
3747        * WebCore.pro:
3748        * WebCore.vcproj/WebCore.vcproj:
3749        * WebCore.xcodeproj/project.pbxproj:
3750
3751        * loader/DocumentWriter.cpp:
3752        (WebCore::DocumentWriter::begin): If the created document is a PluginDocument and the plugin sandbox flag is set,
3753          replace it with a SinkDocument.
3754
3755        * loader/PluginDocument.h:
3756        (WebCore::PluginDocument::isPluginDocument): Make public (it was already public at the Document.h level).
3757
3758        Add a simple document/tokenizer pair that simply presents a blank HTML document and acts as a data sink for whatever
3759        data is handed to it:
3760        * loader/SinkDocument.cpp: Added.
3761        (WebCore::SinkTokenizer::SinkTokenizer):
3762        (WebCore::SinkTokenizer::write):
3763        (WebCore::SinkTokenizer::isWaitingForScripts):
3764        (WebCore::SinkTokenizer::wantsRawData):
3765        (WebCore::SinkTokenizer::writeRawData):
3766        (WebCore::SinkTokenizer::stopParsing):
3767        (WebCore::SinkTokenizer::finish):
3768        (WebCore::SinkDocument::SinkDocument):
3769        (WebCore::SinkDocument::createTokenizer):
3770        * loader/SinkDocument.h: Added.
3771        (WebCore::SinkDocument::create):
3772
37732010-05-18  Sam Weinig  <sam@webkit.org>
3774
3775        Reviewed by Anders Carlsson.
3776
3777        https://bugs.webkit.org/show_bug.cgi?id=39321
3778        Reduce the size of ListHashSets used by Document
3779        <rdar://problem/7999388>
3780
3781        Reduce Membuster peak memory usage by ~450K by reducing the pool sizes
3782        of the ListHashSets used by Document.
3783
3784        * dom/Document.cpp:
3785        (WebCore::Document::addStyleSheetCandidateNode):
3786        (WebCore::Document::recalcStyleSelector):
3787        * dom/Document.h:
3788
37892010-05-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3790
3791        Rubberstamped by Simon Hausmann.
3792
3793        Return null when creating an ImageBuffer failed, due to for
3794        instance a nulled pixmap.
3795
3796        * platform/graphics/qt/ImageBufferQt.cpp:
3797        (WebCore::ImageBufferData::ImageBufferData):
3798        (WebCore::ImageBuffer::ImageBuffer):
3799
38002010-05-18  Jian Li  <jianli@chromium.org>
3801
3802        Reviewed by Dmitry Titov.
3803
3804        Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
3805        https://bugs.webkit.org/show_bug.cgi?id=39285
3806
3807        The timeout is caused by 59659 that changed the GC timer to 0 and thus
3808        triggered a bug in FileReader code. The fix is to add more states so
3809        that hasPendingActivity() can do the check correctly.
3810
3811        * html/FileReader.cpp:
3812        (WebCore::FileReader::FileReader):
3813        (WebCore::FileReader::hasPendingActivity):
3814        (WebCore::FileReader::readInternal):
3815        (WebCore::FileReader::terminate):
3816        (WebCore::FileReader::didStart):
3817        (WebCore::FileReader::didGetSize):
3818        (WebCore::FileReader::didRead):
3819        (WebCore::FileReader::didFinish):
3820        (WebCore::FileReader::didFail):
3821        (WebCore::FileReader::readyState):
3822        (WebCore::FileReader::result):
3823        * html/FileReader.h:
3824        (WebCore::FileReader::):
3825
38262010-05-18  Simon Fraser  <simon.fraser@apple.com>
3827
3828        Reviewed by Darin Adler.
3829
3830        Clean up GraphicsLayer naming code
3831        https://bugs.webkit.org/show_bug.cgi?id=39316
3832
3833        Move code that generates a name for the GraphicsLayer (used in debug builds only) into
3834        a new nameForLayer() method. Use it when naming the foreground layer.
3835
3836        * rendering/RenderLayerBacking.cpp:
3837        (WebCore::RenderLayerBacking::createGraphicsLayer):
3838        (WebCore::RenderLayerBacking::updateForegroundLayer):
3839        (WebCore::RenderLayerBacking::nameForLayer):
3840        * rendering/RenderLayerBacking.h:
3841
38422010-05-18  Justin Schuh  <jschuh@chromium.org>
3843
3844        Reviewed by Adam Barth.
3845
3846        Moving frame.src checks out of the bindings
3847        https://bugs.webkit.org/show_bug.cgi?id=37815
3848
3849        Moved JavaScript frame.src checks out of bindings and into
3850        HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
3851        so ExecState is available inside core DOM. Updated affected bindings
3852        (except for GObject, which will need to be updated to avoid origin
3853        failures inside native code).
3854
3855        * Android.jscbindings.mk:
3856        * CMakeLists.txt:
3857        * GNUmakefile.am:
3858        * WebCore.gypi:
3859        * WebCore.pro:
3860        * WebCore.vcproj/WebCore.vcproj:
3861        * WebCore.xcodeproj/project.pbxproj:
3862        * bindings/js/JSBindingsAllInOne.cpp:
3863        * bindings/js/JSCallbackData.cpp:
3864        (WebCore::JSCallbackData::invokeCallback):
3865        * bindings/js/JSEventListener.cpp:
3866        (WebCore::JSEventListener::handleEvent):
3867        * bindings/js/JSInjectedScriptHostCustom.cpp:
3868        (WebCore::InjectedScriptHost::createInjectedScript):
3869        * bindings/js/JSMainThreadExecState.cpp: Added.
3870        * bindings/js/JSMainThreadExecState.h: Added.
3871        (WebCore::JSMainThreadExecState::currentState):
3872        (WebCore::JSMainThreadExecState::call):
3873        (WebCore::JSMainThreadExecState::evaluate):
3874        (WebCore::JSMainThreadExecState::JSMainThreadExecState):
3875        (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
3876        (WebCore::JSMainThreadNullState::JSMainThreadNullState):
3877        * bindings/js/ScheduledAction.cpp:
3878        (WebCore::ScheduledAction::executeFunctionInContext):
3879        (WebCore::ScheduledAction::execute):
3880        * bindings/js/ScheduledAction.h:
3881        * bindings/js/ScriptController.cpp:
3882        (WebCore::ScriptController::evaluateInWorld):
3883        (WebCore::ScriptController::canAccessFromCurrentOrigin):
3884        * bindings/js/ScriptController.h:
3885        * bindings/js/ScriptFunctionCall.cpp:
3886        (WebCore::ScriptFunctionCall::call):
3887        * bindings/objc/ObjCEventListener.mm:
3888        * bindings/objc/WebScriptObject.mm:
3889        (-[WebScriptObject callWebScriptMethod:withArguments:]):
3890        (-[WebScriptObject evaluateWebScript:]):
3891        * bindings/scripts/CodeGeneratorObjC.pm:
3892        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
3893        (-[DOMTestCallback callbackWithClass1Param:]):
3894        (-[DOMTestCallback callbackWithClass2Param:strArg:]):
3895        (-[DOMTestCallback callbackWithNonBoolReturnType:]):
3896        (-[DOMTestCallback customCallback:class6Param:]):
3897        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
3898        * bindings/scripts/test/ObjC/DOMTestObj.mm:
3899        (-[DOMTestObj readOnlyIntAttr]):
3900        (-[DOMTestObj readOnlyStringAttr]):
3901        (-[DOMTestObj readOnlyTestObjAttr]):
3902        (-[DOMTestObj intAttr]):
3903        (-[DOMTestObj setIntAttr:]):
3904        (-[DOMTestObj longLongAttr]):
3905        (-[DOMTestObj setLongLongAttr:]):
3906        (-[DOMTestObj unsignedLongLongAttr]):
3907        (-[DOMTestObj setUnsignedLongLongAttr:]):
3908        (-[DOMTestObj stringAttr]):
3909        (-[DOMTestObj setStringAttr:]):
3910        (-[DOMTestObj testObjAttr]):
3911        (-[DOMTestObj setTestObjAttr:]):
3912        (-[DOMTestObj attrWithException]):
3913        (-[DOMTestObj setAttrWithException:]):
3914        (-[DOMTestObj attrWithSetterException]):
3915        (-[DOMTestObj setAttrWithSetterException:]):
3916        (-[DOMTestObj attrWithGetterException]):
3917        (-[DOMTestObj setAttrWithGetterException:]):
3918        (-[DOMTestObj customAttr]):
3919        (-[DOMTestObj setCustomAttr:]):
3920        (-[DOMTestObj scriptStringAttr]):
3921        (-[DOMTestObj voidMethod]):
3922        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
3923        (-[DOMTestObj intMethod]):
3924        (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
3925        (-[DOMTestObj objMethod]):
3926        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
3927        (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
3928        (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
3929        (-[DOMTestObj serializedValue:]):
3930        (-[DOMTestObj methodWithException]):
3931        (-[DOMTestObj customMethod]):
3932        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
3933        (-[DOMTestObj customArgsAndException:]):
3934        (-[DOMTestObj addEventListener:listener:useCapture:]):
3935        (-[DOMTestObj removeEventListener:listener:useCapture:]):
3936        (-[DOMTestObj withDynamicFrame]):
3937        (-[DOMTestObj withDynamicFrameAndArg:]):
3938        (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
3939        (-[DOMTestObj withDynamicFrameAndUserGesture:]):
3940        (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
3941        (-[DOMTestObj withScriptStateVoid]):
3942        (-[DOMTestObj withScriptStateObj]):
3943        (-[DOMTestObj withScriptStateVoidException]):
3944        (-[DOMTestObj withScriptStateObjException]):
3945        (-[DOMTestObj methodWithOptionalArg:]):
3946        (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
3947        (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
3948        * bindings/v8/ScriptController.cpp:
3949        (WebCore::ScriptController::canAccessFromCurrentOrigin):
3950        * bindings/v8/ScriptController.h:
3951        * html/HTMLFrameElementBase.cpp:
3952        (WebCore::HTMLFrameElementBase::isURLAllowed):
3953
39542010-05-18  Drew Wilson  <atwilson@chromium.org>
3955
3956        Unreviewed: Speculative build fix for Chromium win.
3957
3958        * platform/graphics/skia/SkiaFontWin.cpp: Properly set inlineCapacity.
3959
39602010-05-18  Drew Wilson  <atwilson@chromium.org>
3961
3962        Unreviewed fix for Chromium build break.
3963
3964        * platform/graphics/skia/SkiaFontWin.cpp: Now set inlineCapacity param.
3965
39662010-05-18  Daniel Cheng  <dcheng@chromium.org>
3967
3968        Reviewed by Darin Adler, Jian Li.
3969
3970        DragData::asURL() shouldn't do file validity checks
3971        https://bugs.webkit.org/show_bug.cgi?id=38711
3972
3973        There's no point to trying to make sure the file is valid in
3974        DragData::asURL(). It's better to ask for forgiveness than to ask for
3975        permission, since asking for permission is prone to race conditions
3976        and results in unnecessary I/O.  Consumers of this function either:
3977        - need to verify the file exists themselves (e.g. the loader)
3978        - don't care about file validity (rich text drag-and-drop)
3979
3980        * platform/chromium/DragDataChromium.cpp:
3981        (WebCore::DragData::asURL):
3982
39832010-05-18  Timothy Hatcher  <timothy@apple.com>
3984
3985        Fix a handful of various localization issues in the Web Inspector.
3986
3987        * Localize strings that where not localized.
3988        * Make WebInspector.UIString work without bind.
3989        * Always pass WebInspector.UIString to Number.secondsToString and Number.bytesToString.
3990        * Never pass a variable to WebInspector.UIString, since that prevents auto-generation.
3991        * Use an ellipsis instead of three periods.
3992
3993        https://webkit.org/b/39303
3994        rdar://problem/7997101
3995
3996        Reviewed by Adam Roben.
3997
3998        * English.lproj/localizedStrings.js:
3999        * inspector/front-end/AuditRules.js:
4000        (WebInspector.AuditRules.GzipRule.prototype.doRun):
4001        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
4002        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
4003        * inspector/front-end/ConsoleView.js:
4004        (WebInspector.ConsoleView):
4005        * inspector/front-end/ImageView.js:
4006        (WebInspector.ImageView.prototype.contentTabSelected):
4007        * inspector/front-end/ProfileDataGridTree.js:
4008        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
4009        (WebInspector.ProfileDataGridNode.prototype.get data):
4010        * inspector/front-end/ResourcesPanel.js:
4011        (WebInspector.ResourceTimeCalculator.prototype.formatValue):
4012        (WebInspector.ResourceTransferTimeCalculator.prototype.formatValue):
4013        (WebInspector.ResourceTransferDurationCalculator.prototype.formatValue):
4014        (WebInspector.ResourceTransferSizeCalculator.prototype.formatValue):
4015        * inspector/front-end/ScriptsPanel.js:
4016        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
4017        * inspector/front-end/SourceFrame.js:
4018        (WebInspector.SourceFrame.prototype._contextMenu):
4019        * inspector/front-end/TimelineOverviewPane.js:
4020        (WebInspector.TimelineOverviewCalculator):
4021        (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
4022        * inspector/front-end/TimelinePanel.js:
4023        (WebInspector.TimelinePanel):
4024        (WebInspector.TimelineCalculator):
4025        (WebInspector.TimelineCalculator.prototype.formatValue):
4026        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
4027        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
4028        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
4029        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
4030        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
4031        * inspector/front-end/inspector.js:
4032        (WebInspector.loaded):
4033        (WebInspector.setRecordingProfile):
4034        (WebInspector.UIString):
4035
40362010-05-18  Sam Weinig  <sam@webkit.org>
4037
4038        Another attempt to fix the build.
4039
4040        * css/CSSCursorImageValue.cpp:
4041
40422010-05-18  Adam Roben  <aroben@apple.com>
4043
4044        Make accelerated compositing work on machines that don't support
4045        hardware vertex processing
4046
4047        Fixes <http://webkit.org/b/39299> <rdar://problem/7997692> Accelerated
4048        compositing on Windows doesn't work on machines that don't support
4049        hardware vertex processing, but should
4050
4051        Reviewed by Eric Carlson.
4052
4053        * platform/graphics/win/WKCACFLayerRenderer.cpp:
4054        (WebCore::WKCACFLayerRenderer::createRenderer): Query the device
4055        capabilities to decide whether to request hardware or software vertex
4056        processing.
4057
40582010-05-18  Adam Roben  <aroben@apple.com>
4059
4060        Make WKCACFLayerRenderer robust against temporary failure of
4061        Direct3DCreate9 and IDirect3D9::CreateDevice
4062
4063        For a short time after waking from sleep, Direct3DCreate9() will
4064        return an IDirect3D9 for which IDirect3D9::CreateDevice will always
4065        fail. Also during this time period, IDirect3D9::CreateDevice
4066        will fail even for non-bad IDirect3D9s. (It will later start
4067        succeeding.) WKCACFLayerRenderer now works around this behavior by
4068        detecting when it might be in this situation and calling these
4069        functions again later.
4070
4071        Fixes <http://webkit.org/b/39297> <rdar://problem/7997431> WebView
4072        doesn't repaint until page reloads when page using hardware
4073        acceleration loads just after waking from sleep
4074
4075        Reviewed by John Sullivan.
4076
4077        * manual-tests/crash-and-no-repaint-after-wake-from-sleep.html:
4078        Renamed from WebCore/manual-tests/crash-after-wake-from-sleep.html.
4079        Modified to also include instructions for reproducing this bug.
4080
4081        * platform/graphics/win/WKCACFLayerRenderer.cpp:
4082        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Replaced
4083        m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater. The
4084        new member is initialized to true, since we haven't even tried to
4085        create a device once yet.
4086        (WebCore::WKCACFLayerRenderer::createRenderer): If we already have a
4087        D3D device, or we don't have one and are sure that we won't be able to
4088        create one later, just return the previously-created device, if any.
4089        We assume that we won't be able to create a device later if this
4090        function fails, unless the function fails due to CreateDevice failing.
4091        As noted above, CreateDevice will sometimes temporarily fail and then
4092        later start working again. When CreateDevice fails, we also assume
4093        that we might have a bad IDirect3D9, so we get rid of the one we have
4094        so a new (and hopefully non-bad) one will be allocated later.
4095        (WebCore::WKCACFLayerRenderer::destroyRenderer): Reset
4096        m_mightBeAbleToCreateDeviceLater to true, since we no longer have a
4097        device.
4098        (WebCore::WKCACFLayerRenderer::paint): Before trying to paint, try to
4099        create our D3D device and renderer. If this fails, we bail out, but if
4100        we think we might be able to create a device later we schedule another
4101        paint (via renderSoon()) so that we'll try again soon.
4102
4103        * platform/graphics/win/WKCACFLayerRenderer.h: Replaced
4104        m_triedToCreateD3DRenderer with m_mightBeAbleToCreateDeviceLater.
4105
41062010-05-18  Adam Roben  <aroben@apple.com>
4107
4108        Fix a crash when a page that uses accelerated compositing loads soon
4109        after the computer wakes from sleep
4110
4111        The set-up:
4112
4113        For a short time after waking from sleep, IDirect3D9::CreateDevice
4114        will fail. This caused WKCACFLayerRenderer::createRenderer to fail,
4115        and meant that WKCACFLayerRenderer never allocated a root layer.
4116        WebView wouldn't notice that createRenderer failed, and would go ahead
4117        and try to use the root layer anyway, resulting in a crash.
4118
4119        The fix:
4120
4121        We now allocate the root layer (and all the other members of
4122        WKCACFLayerRenderer that aren't dependent on having an
4123        IDirect3DDevice9) in WKCACFLayerRenderer's constructor. This way the
4124        layers will always be present, even when creating the D3D device
4125        fails.
4126
4127        There are two remaining problems:
4128          1) This results in slightly more memory usage in the case where
4129             CreateDevice fails.
4130          2) Once we get into this bad state, the WebView doesn't repaint
4131             until we navigate somewhere else.
4132
4133        (2) is covered by
4134        <http://webkit.org/b/39297>/<rdar://problem/7997431>. We'll fix it by
4135        retrying CreateDevice later in hopes that it will succeed after more
4136        time has passed. This will in turn fix (1). (We should never end up in
4137        a case where CreateDevice fails forever because we already did some
4138        preliminary checks in acceleratedCompositingAvailable().)
4139
4140        Fixes <http://webkit.org/b/39295> <rdar://problem/7971319> Crash
4141        (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when
4142        computer wakes from sleep on particular page
4143
4144        Reviewed by John Sullivan.
4145
4146        * manual-tests/crash-after-wake-from-sleep.html: Added. This
4147        is the Poster Circle demo from webkit.org/blog, but modified to
4148        automatically reload every 5 seconds and with instructions to put the
4149        computer to sleep and wake it up again.
4150
4151        * platform/graphics/win/WKCACFLayerRenderer.cpp:
4152        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Moved code to
4153        initialize m_context, m_renderContext, and m_*Layer here...
4154        (WebCore::WKCACFLayerRenderer::createRenderer): ...from here.
4155
41562010-05-18  Adam Roben  <aroben@apple.com>
4157
4158        Remove an unused member variable from WKCACFLayerRenderer
4159
4160        Rubber-stamped by Ada Chan.
4161
4162        * platform/graphics/win/WKCACFLayerRenderer.h: Removed m_viewLayer,
4163        which is unused.
4164
41652010-05-18  Anders Carlsson  <andersca@apple.com>
4166
4167        Reviewed by Sam Weinig.
4168
4169        Allocate the m_preloads list hash set dynamically and free it when done.
4170        https://bugs.webkit.org/show_bug.cgi?id=39309
4171        <rdar://problem/7998495>
4172
4173        This saves about 6000 bytes on a fully loaded document.
4174
4175        * loader/DocLoader.cpp:
4176        (WebCore::DocLoader::requestPreload):
4177        (WebCore::DocLoader::clearPreloads):
4178        * loader/DocLoader.h:
4179
41802010-05-18  Anders Carlsson  <andersca@apple.com>
4181
4182        Revert unintended indentation and unnecessary nested name specifier.
4183
4184        * rendering/RenderBlock.cpp:
4185        (WebCore::clipOutPositionedObjects):
4186        (WebCore::RenderBlock::insertPositionedObject):
4187
41882010-05-18  Anders Carlsson  <andersca@apple.com>
4189
4190        Reviewed by Sam Weinig.
4191
4192        Add an inlineCapacity template parameter to ListHashSet and use it to shrink the positioned object list hash set.
4193        https://bugs.webkit.org/show_bug.cgi?id=39304
4194        <rdar://problem/7998366>
4195
4196        Set the inlineCapacity for the positionedObjects ListHashSet to 4 instead of 256. Since a RenderBlock usually has 
4197        few positioned objects, this saves memory.
4198
4199        * WebCore.base.exp:
4200        * rendering/RenderBlock.cpp:
4201        (WebCore::clipOutPositionedObjects):
4202        (WebCore::RenderBlock::insertPositionedObject):
4203        * rendering/RenderBlock.h:
4204        (WebCore::RenderBlock::positionedObjects):
4205
42062010-05-17  Sam Weinig  <sam@webkit.org>
4207
4208        Reviewed by Darin Adler.
4209
4210        https://bugs.webkit.org/show_bug.cgi?id=39258
4211        Remove NamedAttrMap residual gunk
4212
4213        Replace NamedAttrMap.h/cpp with NamedNodeMap.h/cpp which was the class
4214        it contained.
4215
4216        * CMakeLists.txt:
4217        * GNUmakefile.am:
4218        * WebCore.gypi:
4219        * WebCore.pro:
4220        * WebCore.vcproj/WebCore.vcproj:
4221        * WebCore.xcodeproj/project.pbxproj:
4222        * bindings/v8/custom/V8NamedNodesCollection.cpp:
4223        * dom/NamedAttrMap.cpp: Removed.
4224        * dom/NamedAttrMap.h: Removed.
4225        * dom/NamedNodeMap.cpp: Copied from dom/NamedAttrMap.cpp.
4226        * dom/NamedNodeMap.h: Replaced with dom/NamedAttrMap.h.
4227        * editing/ReplaceNodeWithSpanCommand.cpp:
4228        * platform/chromium/ClipboardChromium.cpp:
4229
42302010-05-18  Brady Eidson  <beidson@apple.com>
4231
4232        Reviewed by Eric Carlson.
4233
4234        <rdar://problem/7993468> REGRESSION (r58586): Audio doesn't play on first click of play button at NPR.org
4235
4236        NPR swallows the first mouse click on the play button, calls load() on the element, then waits for the
4237        canplay event to come in before calling play itself.
4238
4239        After the site specific hack added in r58586, we disallowed play() from within the canplay event handler.
4240        By tracking whether a load() was triggered by a user gesture, we can differentiate between the original
4241        canplay event that we meant to ignore and the one resulting from the first mouse click which we want to honor.
4242        
4243        No new tests. (Currently no way to test such site specific hack behavior)
4244
4245        * html/HTMLMediaElement.cpp:
4246        (WebCore::HTMLMediaElement::HTMLMediaElement):
4247        (WebCore::HTMLMediaElement::load): Set the m_loadInitiatedByUserGesture flag
4248        (WebCore::HTMLMediaElement::play): Only apply the site specific hack if the load wasn't initiated by a user gesture.
4249        * html/HTMLMediaElement.h:
4250
42512010-05-18  Jakob Petsovits  <jpetsovits@rim.com>
4252
4253        Reviewed by Dirk Schulze.
4254
4255        [OpenVG] Fix stupid build errors from the OpenVG Path commit
4256        https://bugs.webkit.org/show_bug.cgi?id=39228
4257
4258        * platform/graphics/openvg/PainterOpenVG.cpp:
4259        (WebCore::PainterOpenVG::clipPath):
4260        * platform/graphics/openvg/PathOpenVG.cpp:
4261        (WebCore::Path::transform):
4262
42632010-05-18  Chris Jerdonek  <cjerdonek@webkit.org>
4264
4265        Reviewed by Darin Adler.
4266
4267        Refactored FrameLoader::isDocumentSandboxed() from a private member function
4268        to a static, non-member, non-friend function.
4269
4270        https://bugs.webkit.org/show_bug.cgi?id=39157
4271
4272        Making this function non-private lets us make FrameLoader::createWindow()
4273        a non-member function in a subsequent patch.  We also made it non-member
4274        rather than member to increase encapsulation and limit the number of
4275        public functions with access to private FrameLoader data.
4276
4277        No new functionality, so no new tests.
4278
4279        * loader/FrameLoader.cpp:
4280        (WebCore::isDocumentSandboxed):
4281          - Moved this function from a private member function of FrameLoader
4282            to a static, non-member, non-friend function.
4283        (WebCore::FrameLoader::createWindow):
4284          - Updated the call to isDocumentSandboxed().
4285        (WebCore::FrameLoader::submitForm):
4286          - Updated the call to isDocumentSandboxed().
4287        (WebCore::FrameLoader::requestObject):
4288          - Updated the call to isDocumentSandboxed().
4289        (WebCore::FrameLoader::shouldAllowNavigation):
4290          - Updated the call to isDocumentSandboxed().
4291        * loader/FrameLoader.h:
4292          - Removed isDocumentSandboxed() and added a FIXME to move
4293            createWindow() out of the FrameLoader class.
4294
42952010-05-08  Robert Hogan  <robert@roberthogan.net>
4296
4297        Reviewed by Simon Hausmann.
4298
4299        [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
4300             and http/tests/xmlhttprequest/cross-origin-authorization.html
4301
4302        QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
4303        without knowing if this is valid behaviour or not. In order to allow
4304        Qt to decide whether Cookie/Authorization headers should be added
4305        to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
4306        These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
4307        QNetworkRequest::CookieSaveControlAttribute,and
4308        QNetworkRequest::AuthenticationReuseControlAttribute.
4309
4310        QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
4311        unless withCredentials is set to true in the XHR.
4312
4313        QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
4314        is set to true in the XHR.
4315
4316        Qt will pass the values onto QHttpNetworkRequest and this will permit
4317        the Qt network access processing to decide whether or not to add either
4318        or both of the Cookie/Authorisation headers, and whether to save cookies
4319        returned from such requests. By default the attribute
4320        will always be true so unless QtWebKit sets it to false normal
4321        header processing is unaffected.
4322
4323        The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
4324
4325        https://bugs.webkit.org/show_bug.cgi?id=32967
4326
4327        * platform/network/qt/ResourceRequestQt.cpp:
4328        (WebCore::ResourceRequest::toNetworkRequest):
4329
43302010-05-18  Zoltan Herczeg  <zherczeg@webkit.org>
4331
4332        Reviewed by Kenneth Rohde Christiansen.
4333
4334        [Qt] Implementing clipToImageBuffer for Qt port.
4335        https://bugs.webkit.org/show_bug.cgi?id=24289
4336
4337        The implementation combines pixmap layers and destinationIn
4338        composition mode.
4339
4340        * platform/graphics/qt/GraphicsContextQt.cpp:
4341        (WebCore::TransparencyLayer::TransparencyLayer):
4342        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4343        (WebCore::GraphicsContext::savePlatformState):
4344        (WebCore::GraphicsContext::restorePlatformState):
4345        (WebCore::GraphicsContext::inTransparencyLayer):
4346        (WebCore::GraphicsContext::beginTransparencyLayer):
4347        (WebCore::GraphicsContext::endTransparencyLayer):
4348        (WebCore::GraphicsContext::clipToImageBuffer):
4349
43502010-05-18  Eric Seidel  <eric@webkit.org>
4351
4352        Unreviewed build fix.
4353
4354        Make it possible to enable the new HTML5Tokenizer for testing
4355        https://bugs.webkit.org/show_bug.cgi?id=39275
4356
4357        * WebCore.gypi:
4358         - Fix HTMLLexer.* -> HTML5Lexer.*
4359        * WebCore.vcproj/WebCore.vcproj:
4360         - Add HTML5Lexer and HTML5Tokenizer to project.
4361
43622010-05-18  Eric Seidel  <eric@webkit.org>
4363
4364        Unreviewed build fix.
4365
4366        Make it possible to enable the new HTML5Tokenizer for testing
4367        https://bugs.webkit.org/show_bug.cgi?id=39275
4368
4369        * dom/NamedAttrMap.cpp:
4370        (WebCore::NamedNodeMap::setNamedItemNS):
4371         - Move this to the .cpp file so as to avoid needing to include "Node.h" in the header.
4372        * dom/NamedAttrMap.h:
4373        * html/HTML5Token.h:
4374         - Remove #include "String.h" which was wrong.  Adam meant "PlatformString.h"
4375         - Remove unneeded #include "Node.h", it was only needed because
4376           NamedAttrMap.h was incorrectly depending on Node.h but not
4377           including it.  It didn't actually need Node.h except for one
4378           inlined method setNamedItemNS, so I moved setNamedItemNS into
4379           the .cpp to get rid of the Node.h requirement.
4380
43812010-05-18  Eric Seidel  <eric@webkit.org>
4382
4383        Reviewed by Adam Barth.
4384
4385        Make it possible to enable the new HTML5Tokenizer for testing
4386        https://bugs.webkit.org/show_bug.cgi?id=39275
4387
4388        I added html5ParserEnabled to Settings so that we can enable/disable
4389        the HTML5 parser for testing.
4390
4391        I also ripped out a bunch of dead code from HTML5Lexer.
4392
4393        I had to add HTML5Lexer/HTML5Tokenizer to all build systems so that
4394        the build wouldn't fail now that we reference these classes from HTMLDocument.
4395
4396        * Android.mk:
4397        * CMakeLists.txt:
4398        * GNUmakefile.am:
4399        * WebCore.gypi:
4400        * WebCore.pro:
4401        * WebCore.xcodeproj/project.pbxproj:
4402        * html/HTML5Lexer.cpp:
4403        (WebCore::HTML5Lexer::reset):
4404        (WebCore::isWhitespace):
4405        (WebCore::HTML5Lexer::nextToken):
4406        * html/HTML5Lexer.h:
4407        * html/HTML5Tokenizer.cpp: Added.
4408        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
4409        (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
4410        (WebCore::HTML5Tokenizer::begin):
4411        (WebCore::HTML5Tokenizer::write):
4412        (WebCore::HTML5Tokenizer::end):
4413        (WebCore::HTML5Tokenizer::finish):
4414        (WebCore::HTML5Tokenizer::isWaitingForScripts):
4415        * html/HTML5Tokenizer.h: Added.
4416        * html/HTMLDocument.cpp:
4417        (WebCore::HTMLDocument::createTokenizer):
4418        * html/HTMLTokenizer.h:
4419        * html/HTMLViewSourceDocument.cpp:
4420        (WebCore::HTMLViewSourceDocument::createTokenizer):
4421        * page/Settings.cpp:
4422        (WebCore::Settings::Settings):
4423        * page/Settings.h:
4424        (WebCore::Settings::setHTML5ParserEnabled):
4425        (WebCore::Settings::html5ParserEnabled):
4426
44272010-05-18  Maciej Stachowiak  <mjs@apple.com>
4428
4429        Not reviewed, build fix.
4430
4431        Attempt to fix build for v8 bindings (untested).
4432
4433        * bindings/v8/ScriptController.cpp:
4434        (WebCore::ScriptController::clearWindowShell):
4435        * bindings/v8/ScriptController.h:
4436
44372010-05-17  Maciej Stachowiak  <mjs@apple.com>
4438
4439        Reviewed by Oliver Hunt.
4440
4441        GC more promptly when navigating to a new inner window, but not at all when it went in the page cache
4442        https://bugs.webkit.org/show_bug.cgi?id=39254
4443        <rdar://problem/7996370>
4444
4445        ~1% PLT speedup
4446        ~4% iBench HTML speedup
4447
4448        * bindings/js/GCController.cpp:
4449        (WebCore::GCController::garbageCollectSoon): Change back to a 0 delay timer instead of
4450        0.5 second.
4451        * bindings/js/ScriptController.cpp:
4452        (WebCore::ScriptController::clearWindowShell): Add a new boolean parameter. Don't
4453        garbageColectSoon if the page is going into the page cache.
4454        * bindings/js/ScriptController.h: Prototype change for above.
4455        * loader/FrameLoader.cpp:
4456        (WebCore::FrameLoader::clear): Indicate when the page is going into the page cache.
4457
44582010-05-18  Adam Barth  <abarth@webkit.org>
4459
4460        Reviewed by Eric Seidel.
4461
4462        Add an HTML5Token
4463        https://bugs.webkit.org/show_bug.cgi?id=39274
4464
4465        The token object is an ugly fake union, but I'm sure sure there's a
4466        better way...  Eric needs this to provide output for the test harness.
4467
4468        * WebCore.xcodeproj/project.pbxproj:
4469        * html/HTML5Lexer.cpp:
4470        (WebCore::HTML5Lexer::HTML5Lexer):
4471        (WebCore::HTML5Lexer::write):
4472        (WebCore::HTML5Lexer::emitCharacter):
4473        * html/HTML5Lexer.h:
4474        * html/HTML5Token.h: Added.
4475        (WebCore::HTML5Token::):
4476        (WebCore::HTML5Token::HTML5Token):
4477        (WebCore::HTML5Token::setToCharacter):
4478
44792010-05-18  Adam Barth  <abarth@webkit.org>
4480
4481        Reviewed by Eric Seidel.
4482
4483        Implement ScriptData states for HTML5Lexer
4484        https://bugs.webkit.org/show_bug.cgi?id=39273
4485
4486        This patch implements more of the lexer states according to the HTML5
4487        specification.  Currently, this code is compiled by not tested.  We're
4488        working on bringing up a test harness in parallel with transliterating
4489        the spec into code.
4490
4491        * html/HTML5Lexer.cpp:
4492        (WebCore::HTML5Lexer::tokenize):
4493        (WebCore::HTML5Lexer::temporaryBufferIs):
4494        * html/HTML5Lexer.h:
4495        (WebCore::HTML5Lexer::):
4496
44972010-05-17  Eric Seidel  <eric@webkit.org>
4498
4499        Reviewed by Adam Barth.
4500
4501        Rename HTML5Tokenzier to HTML5Lexer so that we can add a new HTML5Tokenizer which implements Tokenizer
4502        https://bugs.webkit.org/show_bug.cgi?id=39272
4503
4504        Strictly a rename, no functionality change.
4505
4506        * WebCore.xcodeproj/project.pbxproj:
4507        * html/HTML5Lexer.cpp: Added.
4508        * html/HTML5Lexer.h: Added.
4509        * html/HTML5Tokenizer.cpp: Removed.
4510        * html/HTML5Tokenizer.h: Removed.
4511
45122010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
4513
4514        Unreviewed, rolling out r59652.
4515        http://trac.webkit.org/changeset/59652
4516        https://bugs.webkit.org/show_bug.cgi?id=39268
4517
4518        file-input-files-access test is broken on Mac (Requested by
4519        dcheng on #webkit).
4520
4521        * platform/chromium/DragDataChromium.cpp:
4522        (WebCore::DragData::asURL):
4523
45242010-05-17  Adam Barth  <abarth@webkit.org>
4525
4526        Reviewed by Eric Seidel.
4527
4528        Implement RAWTEXT tokenizer states
4529        https://bugs.webkit.org/show_bug.cgi?id=39267
4530
4531        More tokenizer states.  There's a bunch of functionality notImplemented
4532        that we'll come back to.
4533
4534        * html/HTML5Tokenizer.cpp:
4535        (WebCore::HTML5Tokenizer::tokenize):
4536        * html/HTML5Tokenizer.h:
4537
45382010-05-17  Adam Barth  <abarth@webkit.org>
4539
4540        Reviewed by Eric Seidel.
4541
4542        Implement more parser states in HTML5Tokenizer
4543        https://bugs.webkit.org/show_bug.cgi?id=39265
4544
4545        This patch implements some easy states.  I'll come back and do the
4546        harder states later.
4547
4548        * html/HTML5Tokenizer.cpp:
4549        (WebCore::HTML5Tokenizer::tokenize):
4550        (WebCore::HTML5Tokenizer::emitParseError):
4551        * html/HTML5Tokenizer.h:
4552
45532010-05-17  Daniel Cheng  <dcheng@chromium.org>
4554
4555        Reviewed by Darin Adler.
4556
4557        DragData::asURL() shouldn't do file validity checks
4558        https://bugs.webkit.org/show_bug.cgi?id=38711
4559
4560        There's no point to trying to make sure the file is valid in
4561        DragData::asURL(). It's better to ask for forgiveness than to ask for
4562        permission, since asking for permission is prone to race conditions
4563        and results in unnecessary I/O.  Consumers of this function either:
4564        - need to verify the file exists themselves (e.g. the loader)
4565        - don't care about file validity (rich text drag-and-drop)
4566
4567        * platform/chromium/DragDataChromium.cpp:
4568        (WebCore::DragData::asURL):
4569
45702010-05-17  Adam Barth  <abarth@webkit.org>
4571
4572        Reviewed by Eric Seidel.
4573
4574        Update states in HTML5Tokenizer to match HTML5 spec
4575        https://bugs.webkit.org/show_bug.cgi?id=39264
4576
4577        I've also implemented the DataState.  More states to follow.
4578
4579        * html/HTML5Tokenizer.cpp:
4580        (WebCore::HTML5Tokenizer::reset):
4581        (WebCore::HTML5Tokenizer::tokenize):
4582        * html/HTML5Tokenizer.h:
4583        (WebCore::HTML5Tokenizer::):
4584
45852010-05-17  Kent Tamura  <tkent@chromium.org>
4586
4587        Reviewed by Darin Adler.
4588
4589        ':valid' CSS selector should not be applied to some form controls
4590        https://bugs.webkit.org/show_bug.cgi?id=39162
4591
4592        * html/HTMLElement.cpp:
4593        (WebCore::inlineTagList): Always includes progressTag. This change is
4594        needed in a case of no ENABLE_PROGRESS_TAG. Without this change and
4595        ENABLE_PROGRESS_TAG, <progress> tags disappear.
4596        * html/HTMLInputElement.cpp:
4597        (WebCore::HTMLInputElement::recalcWillValidate):
4598          Return false for SUBMIT and IMAGE.
4599        * html/HTMLProgressElement.h:
4600        (WebCore::HTMLProgressElement::recalcWillValidate):
4601          Return false. This change is needed in a case of ENABLE_PROGRESS_TAG.
4602
46032010-05-17  Adam Barth  <abarth@webkit.org>
4604
4605        Reviewed by Eric Seidel.
4606
4607        Remove load-related code from HTML5Tokenizer
4608        https://bugs.webkit.org/show_bug.cgi?id=39263
4609
4610        This code is related to reloading resources and not to tokenizing.  In
4611        the PreloadScanner, these concerns are coupled, but we want to decouple
4612        them.
4613
4614        * html/HTML5Tokenizer.cpp:
4615        (WebCore::HTML5Tokenizer::HTML5Tokenizer):
4616        (WebCore::HTML5Tokenizer::~HTML5Tokenizer):
4617        (WebCore::HTML5Tokenizer::begin):
4618        (WebCore::HTML5Tokenizer::end):
4619        (WebCore::HTML5Tokenizer::reset):
4620        (WebCore::HTML5Tokenizer::write):
4621        (WebCore::HTML5Tokenizer::consumeEntity):
4622        (WebCore::HTML5Tokenizer::tokenize):
4623        (WebCore::HTML5Tokenizer::processAttribute):
4624        (WebCore::HTML5Tokenizer::emitCharacter):
4625        (WebCore::HTML5Tokenizer::emitTag):
4626        * html/HTML5Tokenizer.h:
4627
46282010-05-17  Adam Barth  <abarth@webkit.org>
4629
4630        Reviewed by Eric Seidel.
4631
4632        Add HTML5Tokenizer to the build system on Mac
4633        https://bugs.webkit.org/show_bug.cgi?id=39262
4634
4635        This file will be easier to work with if we're actually compiling it.
4636        Hopefully we'll get this wired into the PreloadScanner soon.  Once we
4637        start actually calling the code, we'll add it to the build system on
4638        other platforms.
4639
4640        * WebCore.xcodeproj/project.pbxproj:
4641
46422010-05-17  Eric Seidel  <eric@webkit.org>
4643
4644        Reviewed by Adam Barth.
4645
4646        Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4647        https://bugs.webkit.org/show_bug.cgi?id=39261
4648
4649        * html/HTML5Tokenizer.cpp: Rename PreloadScanner to HTML5Tokenizer.
4650        * html/HTML5Tokenizer.h: ditto.
4651
46522010-05-17  Eric Seidel  <eric@webkit.org>
4653
4654        Reviewed by Adam Barth.
4655
4656        Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4657        https://bugs.webkit.org/show_bug.cgi?id=39261
4658
4659        This time copy the cpp from the right file.
4660
4661        * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.cpp.
4662
46632010-05-17  Eric Seidel  <eric@webkit.org>
4664
4665        Reviewed by Adam Barth.
4666
4667        Copy PreloadScanner.* to HTML5Tokenizer.* to start work on the new HTML5 Tokenizer
4668        https://bugs.webkit.org/show_bug.cgi?id=39261
4669
4670        * html/HTML5Tokenizer.cpp: Copied from WebCore/html/PreloadScanner.h.
4671        * html/HTML5Tokenizer.h: Copied from WebCore/html/PreloadScanner.h.
4672
46732010-05-17  MORITA Hajime  <morrita@google.com>
4674
4675        Reviewed by Kent Tamura.
4676
4677        [Chromium] Windows: Speed of indeterminate progress bar should be constant
4678        https://bugs.webkit.org/show_bug.cgi?id=39211
4679
4680        No new tests, animation effect can be confirmed only manually.
4681
4682        * rendering/RenderThemeChromiumWin.cpp:
4683        (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
4684        (WebCore::RenderThemeChromiumWin::paintProgressBar):
4685
46862010-05-17  Drew Wilson  <atwilson@chromium.org>
4687
4688        Unreviewed build fix for Qt and Chromium.
4689
4690        https://bugs.webkit.org/show_bug.cgi?id=39147
4691
4692        * page/Frame.h: Now includes CSSMutableStyleDeclaration.h.
4693
46942010-05-17  Simon Fraser  <simon.fraser@apple.com>
4695
4696        Reviewed by Darin Adler.
4697
4698        Remove unused member member from Document
4699        https://bugs.webkit.org/show_bug.cgi?id=39251
4700
4701        Remove m_associatedHistoryItems from Document; it is never used.
4702
4703        * dom/Document.h:
4704
47052010-05-17  Darin Adler  <darin@apple.com>
4706
4707        Fix Qt build.
4708
4709        * page/Frame.cpp:
4710        (WebCore::Frame::setTypingStyle): Move back to make non-inline.
4711        * page/Frame.h: Removed inline version of setTypingStyle.
4712
47132010-05-14  Darin Adler  <darin@apple.com>
4714
4715        Reviewed by Brady Eidson.
4716
4717        Frame has many trivial member functions that should be inlined
4718        https://bugs.webkit.org/show_bug.cgi?id=39147
4719
4720        * WebCore.base.exp: Export the functions that are now inlined.
4721
4722        * page/Frame.cpp:
4723        (WebCore::Frame::removeEditingStyleFromBodyElement):
4724        Removed the body of this function.
4725
4726        * page/Frame.h:
4727        (WebCore::Frame::init): Moved here from .cpp.
4728        (WebCore::Frame::loader): Ditto.
4729        (WebCore::Frame::redirectScheduler): Ditto.
4730        (WebCore::Frame::view): Ditto.
4731        (WebCore::Frame::script): Ditto.
4732        (WebCore::Frame::document): Ditto.
4733        (WebCore::Frame::selection): Ditto.
4734        (WebCore::Frame::editor): Ditto.
4735        (WebCore::Frame::animation): Ditto.
4736        (WebCore::Frame::mark): Ditto.
4737        (WebCore::Frame::setMark): Ditto.
4738        (WebCore::Frame::zoomFactor): Ditto.
4739        (WebCore::Frame::jsStatusBarText): Ditto.
4740        (WebCore::Frame::jsDefaultStatusBarText): Ditto.
4741        (WebCore::Frame::needsReapplyStyles): Ditto.
4742        (WebCore::Frame::typingStyle): Ditto.
4743        (WebCore::Frame::setTypingStyle): Ditto.
4744        (WebCore::Frame::clearTypingStyle): Ditto.
4745        (WebCore::Frame::ownerElement): Ditto.
4746        (WebCore::Frame::isDisconnected): Ditto.
4747        (WebCore::Frame::setIsDisconnected): Ditto.
4748        (WebCore::Frame::excludeFromTextSearch): Ditto.
4749        (WebCore::Frame::setExcludeFromTextSearch): Ditto.
4750        (WebCore::Frame::inViewSourceMode): Ditto.
4751        (WebCore::Frame::setInViewSourceMode): Ditto.
4752        (WebCore::Frame::markedTextMatchesAreHighlighted): Ditto.
4753        (WebCore::Frame::tree): Ditto.
4754        (WebCore::Frame::page): Ditto.
4755        (WebCore::Frame::detachFromPage): Ditto.
4756        (WebCore::Frame::eventHandler): Ditto.
4757        (WebCore::Frame::shouldClose): Ditto.
4758
47592010-05-17  Anders Carlsson  <andersca@apple.com>
4760
4761        Reviewed by Sam Weinig.
4762
4763        https://bugs.webkit.org/show_bug.cgi?id=39247
4764        <rdar://problem/7994707>
4765        Move rarely used data members to the rare structures, thus saving memory.
4766
4767        Move rarely used member variables from StyleInheritedData and StyleVisualData to
4768        StyleRareInheritedData and StyleRareNonInheritedData, namely:
4769
4770        indent, cursorData, m_effectiveZoom, widows and orphans move from StyleInheritedData to StyleRareInheritedData.
4771        m_counterIncrement and m_counterReset move from StyleVisualData to StyleRareNonInheritedData.
4772
4773        * rendering/style/RenderStyle.cpp:
4774        (WebCore::RenderStyle::diff):
4775        (WebCore::RenderStyle::addCursor):
4776        (WebCore::RenderStyle::setCursorList):
4777        (WebCore::RenderStyle::clearCursorList):
4778        * rendering/style/RenderStyle.h:
4779        (WebCore::InheritedFlags::textIndent):
4780        (WebCore::InheritedFlags::effectiveZoom):
4781        (WebCore::InheritedFlags::counterIncrement):
4782        (WebCore::InheritedFlags::counterReset):
4783        (WebCore::InheritedFlags::cursors):
4784        (WebCore::InheritedFlags::widows):
4785        (WebCore::InheritedFlags::orphans):
4786        (WebCore::InheritedFlags::setTextIndent):
4787        (WebCore::InheritedFlags::setEffectiveZoom):
4788        (WebCore::InheritedFlags::setCounterIncrement):
4789        (WebCore::InheritedFlags::setCounterReset):
4790        (WebCore::InheritedFlags::setWidows):
4791        (WebCore::InheritedFlags::setOrphans):
4792        * rendering/style/StyleInheritedData.cpp:
4793        (WebCore::StyleInheritedData::StyleInheritedData):
4794        (WebCore::StyleInheritedData::operator==):
4795        * rendering/style/StyleInheritedData.h:
4796        * rendering/style/StyleRareInheritedData.cpp:
4797        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
4798        (WebCore::cursorDataEquivalent):
4799        (WebCore::StyleRareInheritedData::operator==):
4800        * rendering/style/StyleRareInheritedData.h:
4801        * rendering/style/StyleRareNonInheritedData.cpp:
4802        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
4803        (WebCore::StyleRareNonInheritedData::operator==):
4804        * rendering/style/StyleRareNonInheritedData.h:
4805        * rendering/style/StyleVisualData.cpp:
4806        (WebCore::StyleVisualData::StyleVisualData):
4807        * rendering/style/StyleVisualData.h:
4808        (WebCore::StyleVisualData::operator==):
4809
48102010-05-17  Robert Hogan  <robert@webkit.org>
4811
4812        Rubber-stamped by Eric Seidel.
4813
4814        Fix --no-svg build.
4815
4816        I have no idea where the SVG-dependent include of this file is hidden, but
4817        it is probably better to include it explicitly anyway like V8WorkerContextCustom.cpp.
4818
4819        * bindings/js/JSWorkerContextCustom.cpp:
4820
48212010-05-17  David Hyatt  <hyatt@apple.com>
4822
4823        Reviewed by Dan Bernstein.
4824
4825        https://bugs.webkit.org/show_bug.cgi?id=39231
4826
4827        Fix failures in the RTL portion of fast/multicol/layers-in-multicol.html.  Make sure block children of RTL blocks are positioned using
4828        the reduced column width instead of the total content width.
4829
4830        * rendering/RenderBlock.cpp:
4831        (WebCore::RenderBlock::determineHorizontalPosition):
4832        (WebCore::RenderBlock::nodeAtPoint):
4833        (WebCore::RenderBlock::hitTestContents):
4834        (WebCore::RenderBlock::adjustForColumns):
4835
48362010-05-17  Jakob Petsovits  <jpetsovits@rim.com>
4837
4838        Reviewed by George Staikos.
4839
4840        [OpenVG] Add support for decoding and drawing images
4841        https://bugs.webkit.org/show_bug.cgi?id=36072
4842
4843        OpenVG has a maximum image size (how large is
4844        specific to the OpenVG implementation), so this
4845        requires us to store them as separate image tiles.
4846
4847        Image decoding and initial drawing code by
4848        Adam Treat <atreat@rim.com>. Image decoder
4849        downsampling support by Yong Li <yoli@rim.com>.
4850
4851        * platform/graphics/ImageSource.h:
4852        * platform/graphics/openvg/ImageOpenVG.cpp: Added.
4853        (WebCore::FrameData::clear):
4854        (WebCore::BitmapImage::BitmapImage):
4855        (WebCore::BitmapImage::checkForSolidColor):
4856        (WebCore::BitmapImage::initPlatformData):
4857        (WebCore::BitmapImage::invalidatePlatformData):
4858        (WebCore::adjustSourceRectForDownSampling):
4859        (WebCore::BitmapImage::draw):
4860        (WebCore::Image::drawPattern):
4861        (WebCore::Image::loadPlatformResource):
4862        * platform/graphics/openvg/PainterOpenVG.cpp:
4863        (WebCore::PainterOpenVG::drawImage):
4864        (WebCore::PainterOpenVG::asNewNativeImage):
4865        * platform/graphics/openvg/PainterOpenVG.h:
4866        * platform/graphics/openvg/TiledImageOpenVG.cpp: Added.
4867        (WebCore::TiledImageOpenVG::TiledImageOpenVG):
4868        (WebCore::TiledImageOpenVG::operator=):
4869        (WebCore::TiledImageOpenVG::~TiledImageOpenVG):
4870        (WebCore::TiledImageOpenVG::numTiles):
4871        (WebCore::TiledImageOpenVG::numColumns):
4872        (WebCore::TiledImageOpenVG::numRows):
4873        (WebCore::TiledImageOpenVG::setTile):
4874        (WebCore::TiledImageOpenVG::tilesInRect):
4875        (WebCore::TiledImageOpenVG::tile):
4876        (WebCore::TiledImageOpenVG::tileRect):
4877        (WebCore::TiledImageOpenVG::detachTiles):
4878        (WebCore::TiledImageOpenVG::destroyTiles):
4879        * platform/graphics/openvg/TiledImageOpenVG.h: Added.
4880        (WebCore::TiledImageOpenVG::size):
4881        (WebCore::TiledImageOpenVG::maxTileSize):
4882        * platform/graphics/openvg/VGUtils.cpp:
4883        (WebCore::VGUtils::bytesForImage):
4884        (WebCore::VGUtils::bytesForImageScanline):
4885        (WebCore::VGUtils::imageFormatBitsPerPixel):
4886        (WebCore::VGUtils::endianAwareImageFormat):
4887        * platform/graphics/openvg/VGUtils.h:
4888        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Added.
4889        (WebCore::RGBA32Buffer::asNewNativeImage):
4890
48912010-05-17  Yaar Schnitman  <yaar@chromium.org>
4892
4893        Reviewed by Darin Adler.
4894
4895        Fix JSC's generation of 'Optional' arguments. When a single 'Optional' extended attribute precedes multiple method arguments, all of these arguments are optional as a group (either all or non must be specified). This fix, which makes JSC compliant with V8 and with the Web IDL specs, is pretty harmless, since Optional is currently not being used anywhere in JSC, but it blocks further work on overloads.
4896        https://bugs.webkit.org/show_bug.cgi?id=39227
4897
4898        * bindings/scripts/CodeGeneratorJS.pm:
4899        * bindings/scripts/test/JS/JSTestObj.cpp:
4900        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
4901
49022010-05-16  Sam Weinig  <sam@webkit.org>
4903
4904        Reviewed by Adam Barth.
4905
4906        https://bugs.webkit.org/show_bug.cgi?id=39192
4907        Remove unused PERFECT_HASH code CodeGeneratorJS.
4908
4909        * bindings/scripts/CodeGeneratorJS.pm:
4910
49112010-05-17  Jeremy Moskovich  <jeremy@chromium.org>
4912
4913        Reviewed by Jeremy Orlow.
4914
4915        Remove debug code that was introduced to help narrow down the
4916        source of a crash.
4917        https://bugs.webkit.org/show_bug.cgi?id=36426
4918
4919        No change in behavior, so no new tests.
4920
4921        * loader/FrameLoader.cpp:
4922        (WebCore::FrameLoader::finishedLoadingDocument):
4923
49242010-05-17  Andreas Kling  <andreas.kling@nokia.com>
4925
4926        Reviewed by Kenneth Rohde Christiansen.
4927
4928        Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
4929        Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
4930        Changed createImageData(width, height) to use the absolute values of width and height.
4931
4932        https://bugs.webkit.org/show_bug.cgi?id=39189
4933
4934        Spec link:
4935        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
4936
4937        Test: fast/canvas/canvas-createImageData.html
4938
4939        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
4940        (WebCore::JSCanvasRenderingContext2D::createImageData):
4941        * html/canvas/CanvasRenderingContext2D.cpp:
4942        (WebCore::CanvasRenderingContext2D::createImageData):
4943        * html/canvas/CanvasRenderingContext2D.h:
4944        * html/canvas/CanvasRenderingContext2D.idl:
4945
49462010-05-17  Antti Koivisto  <koivisto@iki.fi>
4947
4948        This was missing from previous commit.
4949
4950        * platform/qt/QWebPageClient.h:
4951        (QWebPageClient::graphicsItemVisibleRect):
4952
49532010-05-17  Antti Koivisto  <koivisto@iki.fi>
4954
4955        Reviewed by Kenneth Rohde Christiansen.
4956
4957        https://bugs.webkit.org/show_bug.cgi?id=39218
4958        [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
4959        
4960        Tiles sometimes flicker when exiting a zoom animation. This happens as a result
4961        of the visible rectangle being momentarily out of sync.
4962        
4963        Instead of updating the visible rect by explicitly setting it, pull it through
4964        the client and recompute in the WebKit level.
4965
4966        * page/ChromeClient.h:
4967        (WebCore::ChromeClient::visibleRectForTiledBackingStore):
4968        * page/Frame.cpp:
4969        (WebCore::Frame::tiledBackingStoreVisibleRect):
4970        * page/Frame.h:
4971        * platform/graphics/TiledBackingStore.cpp:
4972        (WebCore::TiledBackingStore::checkVisibleRectChanged):
4973        (WebCore::TiledBackingStore::createTiles):
4974        * platform/graphics/TiledBackingStore.h:
4975        * platform/graphics/TiledBackingStoreClient.h:
4976
49772010-05-15  Adam Roben  <aroben@apple.com>
4978
4979        Periodically try to reset a lost IDirect3DDevice9 until we succeed
4980
4981        This is how MSDN says we must respond to a lost device (see
4982        <http://msdn.microsoft.com/en-us/library/bb174714(v=VS.85).aspx>).
4983
4984        Only testable by a manual test, unfortunately.
4985
4986        Fixes <rdar://problem/7986906> <http://webkit.org/b/39139> Pages that
4987        use hardware acceleration don't repaint after waking computer from
4988        sleep
4989
4990        Reviewed by John Sullivan.
4991
4992        * manual-tests/no-repaint-after-wake-from-sleep.html: Added. This is
4993        the Poster Circle demo from webkit.org/blog, but with instructions for
4994        putting the computer to sleep and waking it up again.
4995
4996        * platform/graphics/win/WKCACFLayerRenderer.cpp:
4997        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Initialize new
4998        member that tells us whether we need to try to reset the device before
4999        rendering.
5000        (WebCore::WKCACFLayerRenderer::resize): Changed to tell resetDevice
5001        the reason why the device needs to be reset (which is because the
5002        window's size has changed).
5003        (WebCore::WKCACFLayerRenderer::render): Before we do anything else,
5004        check if we need to reset the device before rendering. If we do, try
5005        to reset it. If that fails, bail out and set a timer to try again
5006        later. If we discover that the device is lost when calling
5007        IDirect3DDevice9::Present and resetting the device fails, bail out and
5008        set a timer to try again later.
5009        (WebCore::WKCACFLayerRenderer::resetDevice): Changed to return a
5010        boolean indicating whether resetting succeeded or not. Added a
5011        ResetReason parameter so callers can specify whey the device needs to
5012        be reset. Before trying to do anything, we call
5013        IDirect3DDevice9::TestCooperativeLevel to find out whether the device
5014        can be reset currently. If it can't, we set a flag to tell ourselves
5015        that the device must be reset before we next render, and indicate to
5016        the caller that the reset failed. If we thought the device was lost
5017        but it turns out not to be, we don't have to do anything and can tell
5018        the caller that the reset succeeded. Otherwise we go ahead and reset
5019        the device as before, and indicate to the caller that the reset
5020        succeeded.
5021
5022        * platform/graphics/win/WKCACFLayerRenderer.h: Changed resetDevice to
5023        return a boolean and take a ResetReason parameter. Added a comment
5024        about when and why this function should be called. And added
5025        m_mustResetLostDeviceBeforeRendering.
5026
50272010-05-15  Adam Roben  <aroben@apple.com>
5028
5029        Call CARenderOGLPurge whenever we call IDirect3DDevice9::Reset
5030
5031        MSDN says that all resoures allocated with D3DPOOL_DEFAULT must be
5032        destroyed before calling IDirect3DDevice9::Reset. The only way to
5033        guarantee this with Core Animation is to call CARenderOGLPurge.
5034
5035        Unfortunately this isn't testable at the moment, as we don't use any
5036        features of Core Animation (e.g., mask layers) that actually make this
5037        required. But it seems like a good idea to fix the code now so that
5038        if/when we do start using those features we won't run into problems.
5039
5040        Fixes <http://webkit.org/b/39159> WKCACFLayerRenderer::resetDevice
5041        might fail due to failing to destroy all D3DPOOL_DEFAULT resources
5042
5043        Reviewed by John Sullivan.
5044
5045        * platform/graphics/win/WKCACFLayerRenderer.cpp:
5046        (WebCore::WKCACFLayerRenderer::render): Moved the call to
5047        CARenderOGLPurge from here...
5048        (WebCore::WKCACFLayerRenderer::resetDevice): ...to here, so that it
5049        will be called whenever we reset the device (e.g., when resizing the
5050        window).
5051
50522010-05-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5053
5054        Rubber-stamped by Xan Lopez.
5055
5056        Build fix. Remove bashism from build system.
5057
5058        * GNUmakefile.am:
5059
50602010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
5061
5062        Unreviewed, rolling out r59483.
5063        http://trac.webkit.org/changeset/59483
5064        https://bugs.webkit.org/show_bug.cgi?id=39215
5065
5066        "page_cycler_intl1 regression on Linux" (Requested by yurys on
5067        #webkit).
5068
5069        * platform/chromium/ChromiumBridge.h:
5070        * platform/graphics/chromium/FontCacheLinux.cpp:
5071        (WebCore::FontCache::getFontDataForCharacters):
5072
50732010-05-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5074
5075        Reviewed by Laszlo Gombos.
5076
5077        REGRESSION(59563): [Qt] JSValue QtClass::fallbackObject can be optimized
5078
5079        Patch declared a variable index, which shadowed an earlier declared
5080        variable.
5081
5082        * bridge/qt/qt_class.cpp:
5083        (JSC::Bindings::QtClass::fallbackObject):
5084
50852010-05-14  Andrei Popescu  <andreip@google.com>
5086
5087        Reviewed by Jeremy Orlow.
5088
5089        IDBRequest is not a proper ActiveDomObject
5090        https://bugs.webkit.org/show_bug.cgi?id=39001
5091
5092        Add IDBRequest interface to the IsActiveDomType
5093        routine of the CodeGeneratorV8.pm.
5094
5095        Rename IDBRequest::m_stopped to m_suspended and reset
5096        the flag when resume() is called.
5097
5098        No new tests, Indexed Database isn't yet testable.
5099
5100        * bindings/scripts/CodeGeneratorV8.pm:
5101        * storage/IDBRequest.cpp:
5102        (WebCore::IDBRequest::suspend):
5103        (WebCore::IDBRequest::resume):
5104        (WebCore::IDBRequest::timerFired):
5105        (WebCore::IDBRequest::onEventCommon):
5106        * storage/IDBRequest.h:
5107
51082010-05-17  Xan Lopez  <xlopez@igalia.com>
5109
5110        Do not include the indexed database headers if the feature is not
5111        enabled. Should fix the build in GTK+.
5112
5113        * bindings/js/JSEventCustom.cpp:
5114
51152010-05-17  Xan Lopez  <xlopez@igalia.com>
5116
5117        Try to fix GTK+ build.
5118
5119        * GNUmakefile.am:
5120
51212010-05-14  Jeremy Orlow  <jorlow@chromium.org>
5122
5123        Reviewed by Nate Chapin.
5124
5125        Finish up IndexedDB events
5126        https://bugs.webkit.org/show_bug.cgi?id=39117
5127
5128        Implement the indexed database event interfaces as proposed by Mozilla.
5129        Refactor the run time type detection code that was in IDBRequest into its own
5130        class named IDBAny.  Use this new class within the new event classes and
5131        IDBResults.
5132
5133        Test: storage/indexeddb/basics.html
5134
5135        * DerivedSources.cpp:
5136        * DerivedSources.make:
5137        * GNUmakefile.am:
5138        * WebCore.gyp/WebCore.gyp:
5139        * WebCore.gypi:
5140        * WebCore.pri:
5141        * WebCore.pro:
5142        * WebCore.vcproj/WebCore.vcproj:
5143        * WebCore.xcodeproj/project.pbxproj:
5144        * bindings/js/JSEventCustom.cpp:
5145        (WebCore::toJS):
5146        * bindings/js/JSEventTarget.cpp:
5147        (WebCore::toJS):
5148        * bindings/js/JSIDBAnyCustom.cpp: Added.
5149        (WebCore::toJS):
5150        * bindings/js/JSIDBRequestCustom.cpp: Removed.
5151        * bindings/v8/custom/V8EventCustom.cpp:
5152        (WebCore::toV8):
5153        * bindings/v8/custom/V8IDBAnyCustom.cpp: Added.
5154        (WebCore::toV8):
5155        * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
5156        * dom/Event.cpp:
5157        (WebCore::Event::isIDBErrorEvent):
5158        (WebCore::Event::isIDBSuccessEvent):
5159        * dom/Event.h:
5160        * storage/IDBAny.cpp: Added.
5161        (WebCore::IDBAny::create):
5162        (WebCore::IDBAny::IDBAny):
5163        (WebCore::IDBAny::~IDBAny):
5164        (WebCore::IDBAny::idbDatabaseRequest):
5165        (WebCore::IDBAny::indexedDatabaseRequest):
5166        (WebCore::IDBAny::serializedScriptValue):
5167        (WebCore::IDBAny::set):
5168        * storage/IDBAny.h: Added.
5169        (WebCore::IDBAny::):
5170        (WebCore::IDBAny::type):
5171        * storage/IDBAny.idl: Added.
5172        * storage/IDBErrorEvent.cpp: Added.
5173        (WebCore::IDBErrorEvent::create):
5174        (WebCore::IDBErrorEvent::IDBErrorEvent):
5175        (WebCore::IDBErrorEvent::~IDBErrorEvent):
5176        * storage/IDBErrorEvent.h: Added.
5177        (WebCore::IDBErrorEvent::code):
5178        (WebCore::IDBErrorEvent::message):
5179        (WebCore::IDBErrorEvent::isIDBErrorEvent):
5180        * storage/IDBErrorEvent.idl: Added.
5181        * storage/IDBEvent.cpp: Added.
5182        (WebCore::IDBEvent::IDBEvent):
5183        (WebCore::IDBEvent::~IDBEvent):
5184        (WebCore::IDBEvent::source):
5185        * storage/IDBEvent.h: Added.
5186        * storage/IDBEvent.idl: Added.
5187        * storage/IDBRequest.cpp:
5188        (WebCore::IDBRequest::IDBRequest):
5189        (WebCore::IDBRequest::onSuccess):
5190        (WebCore::IDBRequest::timerFired):
5191        (WebCore::IDBRequest::onEventCommon):
5192        * storage/IDBRequest.h:
5193        (WebCore::IDBRequest::create):
5194        (WebCore::IDBRequest::result):
5195        * storage/IDBRequest.idl:
5196        * storage/IDBSuccessEvent.cpp: Added.
5197        (WebCore::IDBSuccessEvent::create):
5198        (WebCore::IDBSuccessEvent::IDBSuccessEvent):
5199        (WebCore::IDBSuccessEvent::~IDBSuccessEvent):
5200        (WebCore::IDBSuccessEvent::result):
5201        * storage/IDBSuccessEvent.h: Added.
5202        (WebCore::IDBSuccessEvent::isIDBSuccessEvent):
5203        * storage/IDBSuccessEvent.idl: Added.
5204        * storage/IndexedDatabaseImpl.cpp:
5205        (WebCore::IndexedDatabaseImpl::open):
5206        * storage/IndexedDatabaseRequest.cpp:
5207        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
5208        (WebCore::IndexedDatabaseRequest::open):
5209        * storage/IndexedDatabaseRequest.h:
5210
52112010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
5212
5213        Unreviewed.
5214
5215        Removed the stray equals sign from the reviewer's name in the
5216        "Reviewed by" line of the ChangeLog entry for r59596:
5217
5218        http://trac.webkit.org/changeset/59596
5219
52202010-05-16  Chris Jerdonek  <cjerdonek@webkit.org>
5221
5222        Reviewed by Adam Barth.
5223
5224        Refactored FrameLoader::changeLocation() and urlSelected() to share more code.
5225
5226        https://bugs.webkit.org/show_bug.cgi?id=38827
5227
5228        No change in behavior, so no new tests.
5229
5230        * bindings/ScriptControllerBase.cpp:
5231        (WebCore::ScriptController::executeIfJavaScriptURL):
5232          - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5233        * bindings/js/ScriptController.h:
5234          - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5235        * bindings/v8/ScriptController.h:
5236          - Changed a parameter from boolean to the ShouldReplaceDocumentIfJavaScriptURL enum.
5237        * loader/FrameLoader.cpp:
5238        (WebCore::FrameLoader::changeLocation):
5239          - Changed to call the new private overload of urlSelected().
5240        (WebCore::FrameLoader::urlSelected):
5241          - Added a private overload of urlSelected().
5242          - Changed the public urlSelected() to call the private overload.
5243        (WebCore::FrameLoader::submitForm):
5244        * loader/FrameLoader.h:
5245          - Added a private overload of urlSelected().
5246        * loader/FrameLoaderTypes.h:
5247          - Added a ShouldReplaceDocumentIfJavaScriptURL enum.
5248
52492010-05-16  Daniel Bates  <dbates@rim.com>
5250
5251        Reviewed by David Hyatt.
5252
5253        https://bugs.webkit.org/show_bug.cgi?id=39196
5254
5255        Rollout changeset 59274 <http://trac.webkit.org/changeset/59274>.
5256
5257        Prepared on behalf of David Hyatt.
5258
5259        "Not worth the memory use." Just roll this out.
5260
5261        * WebCore.vcproj/WebCore.vcproj:
5262        * WebCore.xcodeproj/project.pbxproj:
5263        * editing/visible_units.cpp:
5264        (WebCore::previousLinePosition):
5265        (WebCore::nextLinePosition):
5266        * rendering/EllipsisBox.cpp:
5267        (WebCore::EllipsisBox::paint):
5268        (WebCore::EllipsisBox::selectionRect):
5269        (WebCore::EllipsisBox::paintSelection):
5270        (WebCore::EllipsisBox::nodeAtPoint):
5271        * rendering/EllipsisBox.h:
5272        (WebCore::EllipsisBox::EllipsisBox):
5273        (WebCore::EllipsisBox::height):
5274        * rendering/InlineBox.cpp:
5275        (WebCore::InlineBox::height):
5276        (WebCore::InlineBox::adjustPosition):
5277        (WebCore::InlineBox::canAccommodateEllipsis):
5278        * rendering/InlineBox.h:
5279        (WebCore::InlineBox::InlineBox):
5280        (WebCore::InlineBox::isInlineBox):
5281        (WebCore::InlineBox::hasVirtualHeight):
5282        (WebCore::InlineBox::setHasVirtualHeight):
5283        (WebCore::InlineBox::virtualHeight):
5284        (WebCore::InlineBox::setWidth):
5285        (WebCore::InlineBox::width):
5286        (WebCore::InlineBox::setX):
5287        (WebCore::InlineBox::x):
5288        (WebCore::InlineBox::setY):
5289        (WebCore::InlineBox::y):
5290        (WebCore::InlineBox::baselinePosition):
5291        (WebCore::InlineBox::lineHeight):
5292        * rendering/InlineFlowBox.cpp:
5293        (WebCore::InlineFlowBox::placeBoxesVertically):
5294        (WebCore::InlineFlowBox::computeVerticalOverflow):
5295        (WebCore::InlineFlowBox::nodeAtPoint):
5296        (WebCore::InlineFlowBox::paintBoxDecorations):
5297        (WebCore::InlineFlowBox::paintMask):
5298        (WebCore::InlineFlowBox::paintTextDecorations):
5299        * rendering/InlineFlowBox.h:
5300        (WebCore::InlineFlowBox::visibleOverflowRect):
5301        (WebCore::InlineFlowBox::topLayoutOverflow):
5302        (WebCore::InlineFlowBox::bottomLayoutOverflow):
5303        (WebCore::InlineFlowBox::leftLayoutOverflow):
5304        (WebCore::InlineFlowBox::rightLayoutOverflow):
5305        (WebCore::InlineFlowBox::layoutOverflowRect):
5306        (WebCore::InlineFlowBox::topVisualOverflow):
5307        (WebCore::InlineFlowBox::bottomVisualOverflow):
5308        (WebCore::InlineFlowBox::leftVisualOverflow):
5309        (WebCore::InlineFlowBox::rightVisualOverflow):
5310        (WebCore::InlineFlowBox::visualOverflowRect):
5311        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
5312        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
5313        * rendering/InlineTextBox.cpp:
5314        (WebCore::InlineTextBox::selectionRect):
5315        (WebCore::InlineTextBox::placeEllipsisBox):
5316        (WebCore::InlineTextBox::nodeAtPoint):
5317        (WebCore::InlineTextBox::paint):
5318        (WebCore::InlineTextBox::paintSelection):
5319        (WebCore::InlineTextBox::paintCompositionBackground):
5320        (WebCore::InlineTextBox::paintDecoration):
5321        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
5322        (WebCore::InlineTextBox::paintTextMatchMarker):
5323        (WebCore::InlineTextBox::computeRectForReplacementMarker):
5324        (WebCore::InlineTextBox::paintCompositionUnderline):
5325        (WebCore::InlineTextBox::offsetForPosition):
5326        (WebCore::InlineTextBox::positionForOffset):
5327        * rendering/InlineTextBox.h:
5328        (WebCore::InlineTextBox::setSpaceAdd):
5329        * rendering/RenderBlock.cpp:
5330        (WebCore::RenderBlock::positionForPointWithInlineChildren):
5331        * rendering/RenderBlockLineLayout.cpp:
5332        (WebCore::RenderBlock::computeVerticalPositionsForLine):
5333        (WebCore::RenderBlock::layoutInlineChildren):
5334        * rendering/RenderSVGInline.cpp:
5335        (WebCore::RenderSVGInline::createInlineFlowBox):
5336        * rendering/RenderSVGInlineText.cpp:
5337        (WebCore::RenderSVGInlineText::createTextBox):
5338        * rendering/RenderSVGText.cpp:
5339        (WebCore::RenderSVGText::createRootInlineBox):
5340        * rendering/RenderText.cpp:
5341        (WebCore::RenderText::positionForPoint):
5342        (WebCore::RenderText::firstRunX):
5343        (WebCore::RenderText::firstRunY):
5344        * rendering/RenderTreeAsText.cpp:
5345        (WebCore::writeTextRun):
5346        * rendering/RootInlineBox.cpp:
5347        (WebCore::RootInlineBox::placeEllipsis):
5348        (WebCore::RootInlineBox::addHighlightOverflow):
5349        (WebCore::RootInlineBox::closestLeafChildForXPos):
5350        * rendering/SVGInlineFlowBox.h:
5351        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
5352        (WebCore::SVGInlineFlowBox::virtualHeight):
5353        (WebCore::SVGInlineFlowBox::setHeight):
5354        * rendering/SVGInlineTextBox.h:
5355        (WebCore::SVGInlineTextBox::virtualHeight):
5356        (WebCore::SVGInlineTextBox::setHeight):
5357        (WebCore::SVGInlineTextBox::selectionTop):
5358        (WebCore::SVGInlineTextBox::selectionHeight):
5359        * rendering/SVGRootInlineBox.h:
5360        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
5361        (WebCore::SVGRootInlineBox::virtualHeight):
5362        (WebCore::SVGRootInlineBox::setHeight):
5363        * rendering/TrailingFloatsRootInlineBox.h: Added.
5364        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
5365        (WebCore::TrailingFloatsRootInlineBox::virtualHeight):
5366
53672010-05-13  Tony Chang  <tony@chromium.org>
5368
5369        Reviewed by Darin Adler.
5370
5371        REGRESSION: Crash by pasting to a textarea with white-space:nowrap
5372        https://bugs.webkit.org/show_bug.cgi?id=38992
5373
5374        Test: editing/pasteboard/paste-plaintext-nowrap.html
5375
5376        * editing/InsertParagraphSeparatorCommand.cpp:
5377        (WebCore::highestVisuallyEquivalentDivBelowRoot):
5378        (WebCore::InsertParagraphSeparatorCommand::doApply):
5379
53802010-05-16  David Hyatt  <hyatt@apple.com>
5381
5382        Reviewed by Dan Bernstein.
5383
5384        https://bugs.webkit.org/show_bug.cgi?id=39194
5385
5386        Fix all of the multi-column painting and hit testing functions to properly account for RTL directionality.
5387
5388        Added fast/multicol/column-count-with-rules.html
5389
5390        * rendering/RenderBlock.cpp:
5391        (WebCore::RenderBlock::paintColumnRules):
5392        (WebCore::RenderBlock::paintColumnContents):
5393        (WebCore::RenderBlock::hitTestColumns):
5394        (WebCore::RenderBlock::adjustRectForColumns):
5395
53962010-05-16  Dan Bernstein  <mitz@apple.com>
5397
5398        Reviewed by Dave Hyatt.
5399
5400        Fix SVG test failures after r59588.
5401
5402        Updated SVG InlineBox virtual method overrides to match HTML ones. Removed
5403        SVGInlineFlowBox::verticallyAlignBoxes() since InlineFlowBox no longer declares
5404        verticallyAlignBoxes().
5405
5406        * rendering/SVGInlineFlowBox.cpp:
5407        (WebCore::SVGInlineFlowBox::placeBoxesHorizontally):
5408        * rendering/SVGInlineFlowBox.h:
5409        * rendering/SVGRootInlineBox.cpp:
5410        (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
5411        (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
5412        * rendering/SVGRootInlineBox.h:
5413
54142010-05-16  Dan Bernstein  <mitz@apple.com>
5415
5416        Reviewed by Darin Adler.
5417
5418        Move transient glyph overflow and fallback font data from a global to the stack
5419        https://bugs.webkit.org/show_bug.cgi?id=39050
5420
5421        * rendering/InlineFlowBox.cpp:
5422        (WebCore::InlineFlowBox::placeBoxesHorizontally): Added a GlyphOverflowAndFallbackFontsMap
5423        parameter. Read glyph overflow from the map.
5424        (WebCore::InlineFlowBox::computeLogicalBoxHeights): Added a GlyphOverflowAndFallbackFontsMap
5425        parameter. Read fallback fonts from the map.
5426        (WebCore::InlineFlowBox::computeVerticalOverflow): Added a GlyphOverflowAndFallbackFontsMap
5427        parameter. Read glyph overflow from the map.
5428        * rendering/InlineFlowBox.h:
5429        * rendering/InlineTextBox.cpp: Removed setFallbackFonts(), fallbackFonts(), setGlyphOverflow(),
5430        and glyphOverflow(). Removed s_glyphOverflowAndFallbackFontsMap.
5431        * rendering/InlineTextBox.h:
5432        * rendering/RenderBlock.h:
5433        * rendering/RenderBlockLineLayout.cpp:
5434        (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
5435        parameter. Write fallback fonts and glyph overflow into the map.
5436        (WebCore::RenderBlock::computeVerticalPositionsForLine): Added a GlyphOverflowAndFallbackFontsMap
5437        parameter. Pass it down to verticallyAlignBoxes().
5438        (WebCore::RenderBlock::layoutInlineChildren): Create a GlyphOverflowAndFallbackFontsMap on the
5439        stack and pass it down to computeHorizontalPositionsForLine(), computeVerticalPositionsForLine(),
5440        and verticallyAlignBoxes().
5441        * rendering/RootInlineBox.cpp:
5442        (WebCore::RootInlineBox::verticallyAlignBoxes): Added a GlyphOverflowAndFallbackFontsMap parameter.
5443        Pass it down to computeLogicalBoxHeights() and computeVerticalOverflow().
5444        * rendering/RootInlineBox.h:
5445        * rendering/SVGRootInlineBox.cpp:
5446        (WebCore::SVGRootInlineBox::layoutInlineBoxes): Updated.
5447
54482010-05-12  Tony Chang  <tony@chromium.org>
5449
5450        Reviewed by Darin Adler.
5451
5452        Spellcheck disabling does not disable context menu
5453        https://bugs.webkit.org/show_bug.cgi?id=25639
5454
5455        Test: editing/spelling/context-menu-suggestions.html
5456
5457        * platform/ContextMenu.cpp:
5458        (WebCore::ContextMenu::populate):
5459
54602010-05-16  Sam Weinig  <sam@webkit.org>
5461
5462        Reviewed by Dan Bernstein.
5463
5464        https://bugs.webkit.org/show_bug.cgi?id=39190
5465        Shave a word off of GlyphPageTreeNode
5466        <rdar://problem/7990428>
5467
5468        * platform/graphics/GlyphPageTreeNode.h:
5469        (WebCore::GlyphPageTreeNode::GlyphPageTreeNode):
5470
54712010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5472
5473        Reviewed by Kenneth Rohde Christiansen.
5474
5475        Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
5476        Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
5477        getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
5478
5479        https://bugs.webkit.org/show_bug.cgi?id=39175
5480
5481        Spec link:
5482        http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
5483
5484        Test: fast/canvas/canvas-getImageData-invalid.html
5485
5486        * html/canvas/CanvasRenderingContext2D.cpp:
5487        (WebCore::CanvasRenderingContext2D::createImageData):
5488        (WebCore::CanvasRenderingContext2D::getImageData):
5489        (WebCore::CanvasRenderingContext2D::putImageData):
5490
54912010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5492
5493        Reviewed by Kenneth Rohde Christiansen.
5494
5495        Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5496        https://bugs.webkit.org/show_bug.cgi?id=39153
5497
5498        Spec link:
5499        http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5500
5501        Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5502
5503        * dom/CanvasSurface.cpp:
5504        (WebCore::CanvasSurface::toDataURL):
5505
55062010-05-16  Simon Fraser  <simon.fraser@apple.com>
5507
5508        Reviewed by Anders Carlsson.
5509
5510        Shrink SimpleFontData
5511        https://bugs.webkit.org/show_bug.cgi?id=39179
5512
5513        Change SimpleFontData to have a pointer to the m_glyphToBoundsMap, 
5514        and to allocate this lazily. This reduces the size of the class from
5515        5632 to 1536 bytes.
5516
5517        * platform/graphics/SimpleFontData.h:
5518        (WebCore::SimpleFontData::boundsForGlyph):
5519
55202010-05-15  Simon Fraser  <simon.fraser@apple.com>
5521
5522        Reviewed by Maciej Stachowiak.
5523
5524        Reduce the size of CachedResource
5525        https://bugs.webkit.org/show_bug.cgi?id=39171
5526
5527        Make protected data members of CachedResource private, to allow for
5528        easier rearrangement, and hide the fact that enums are in bitfields.
5529        
5530        Rearrange the data members of CachedResource to save 32 bytes per instance
5531        in 64-bit. Also modernized the constructor code.
5532
5533        * loader/CachedCSSStyleSheet.cpp:
5534        (WebCore::CachedCSSStyleSheet::didAddClient):
5535        (WebCore::CachedCSSStyleSheet::data):
5536        (WebCore::CachedCSSStyleSheet::checkNotify):
5537        (WebCore::CachedCSSStyleSheet::error):
5538        * loader/CachedFont.cpp:
5539        (WebCore::CachedFont::load):
5540        (WebCore::CachedFont::didAddClient):
5541        (WebCore::CachedFont::data):
5542        (WebCore::CachedFont::ensureCustomFontData):
5543        (WebCore::CachedFont::ensureSVGFontData):
5544        (WebCore::CachedFont::checkNotify):
5545        (WebCore::CachedFont::error):
5546        * loader/CachedImage.cpp:
5547        (WebCore::CachedImage::CachedImage):
5548        (WebCore::CachedImage::load):
5549        (WebCore::CachedImage::didAddClient):
5550        (WebCore::CachedImage::allClientsRemoved):
5551        (WebCore::CachedImage::image):
5552        (WebCore::CachedImage::data):
5553        (WebCore::CachedImage::error):
5554        (WebCore::CachedImage::checkNotify):
5555        (WebCore::CachedImage::destroyDecodedData):
5556        * loader/CachedImage.h:
5557        (WebCore::CachedImage::stillNeedsLoad):
5558        * loader/CachedResource.cpp:
5559        (WebCore::CachedResource::CachedResource):
5560        * loader/CachedResource.h:
5561        (WebCore::CachedResource::type):
5562        (WebCore::CachedResource::preloadResult):
5563        (WebCore::CachedResource::status):
5564        (WebCore::CachedResource::setStatus):
5565        (WebCore::CachedResource::isLoaded):
5566        (WebCore::CachedResource::isLoading):
5567        (WebCore::CachedResource::setErrorOccurred):
5568        * loader/CachedScript.cpp:
5569        (WebCore::CachedScript::didAddClient):
5570        (WebCore::CachedScript::data):
5571        (WebCore::CachedScript::checkNotify):
5572        (WebCore::CachedScript::error):
5573        * loader/CachedXSLStyleSheet.cpp:
5574        (WebCore::CachedXSLStyleSheet::didAddClient):
5575        (WebCore::CachedXSLStyleSheet::data):
5576        (WebCore::CachedXSLStyleSheet::checkNotify):
5577        (WebCore::CachedXSLStyleSheet::error):
5578
55792010-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
5580
5581        Unreviewed, rolling out r59574.
5582        http://trac.webkit.org/changeset/59574
5583        https://bugs.webkit.org/show_bug.cgi?id=39176
5584
5585        Supposedly broke cr-win, but the errors seems somewhat
5586        unrelated (Requested by abarth on #webkit).
5587
5588        * platform/network/chromium/ResourceResponse.h:
5589        (WebCore::ResourceResponse::ResourceResponse):
5590        (WebCore::ResourceResponse::setSecurityInfo):
5591        (WebCore::ResourceResponse::isContentFiltered):
5592        (WebCore::ResourceResponse::setIsContentFiltered):
5593        (WebCore::ResourceResponse::setAppCacheID):
5594        (WebCore::ResourceResponse::setAppCacheManifestURL):
5595        (WebCore::ResourceResponse::setWasFetchedViaSPDY):
5596        (WebCore::ResourceResponse::setIsMultipartPayload):
5597        (WebCore::ResourceResponse::setResponseTime):
5598
55992010-05-16  Dan Bernstein  <mitz@apple.com>
5600
5601        Reviewed by Darin Adler.
5602
5603        Scalar types allocated on the heap due to misuse of DEFINE_STATIC_LOCAL
5604        https://bugs.webkit.org/show_bug.cgi?id=39086
5605
5606        Use global variables directly.
5607
5608        * bindings/v8/ScriptCallStack.cpp:
5609        (WebCore::ScriptCallStack::createUtilityContext):
5610        * platform/ScrollView.cpp:
5611        (WebCore::ScrollView::wheelEvent):
5612        * platform/graphics/mac/ComplexTextController.cpp:
5613        (WebCore::shouldUseATSUIAPI):
5614
56152010-05-16  Andreas Kling  <andreas.kling@nokia.com>
5616
5617        Reviewed by Kenneth Rohde Christiansen.
5618
5619        Canvas's getContext() must return null when called with an invalid/unsupported parameter.
5620        (HTML5 spec 4.8.11): http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext
5621
5622        https://bugs.webkit.org/show_bug.cgi?id=39150
5623
5624        Test: fast/canvas/canvas-getContext-invalid.html
5625
5626        * bindings/js/JSHTMLCanvasElementCustom.cpp:
5627        (WebCore::JSHTMLCanvasElement::getContext):
5628        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
5629        (WebCore::V8HTMLCanvasElement::getContextCallback):
5630
56312010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
5632
5633        Unreviewed, rolling out r59565.
5634        http://trac.webkit.org/changeset/59565
5635        https://bugs.webkit.org/show_bug.cgi?id=39173
5636
5637        Broke GTK (Requested by abarth on #webkit).
5638
5639        * dom/CanvasSurface.cpp:
5640        (WebCore::CanvasSurface::toDataURL):
5641
56422010-05-15  Andreas Kling  <andreas.kling@nokia.com>
5643
5644        Reviewed by Kenneth Rohde Christiansen.
5645
5646        Canvas's toDataURL() should be case insensitive wrt the mimeType argument.
5647        https://bugs.webkit.org/show_bug.cgi?id=39153
5648
5649        Spec link:
5650        http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl
5651
5652        Test: fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html
5653
5654        * dom/CanvasSurface.cpp:
5655        (WebCore::CanvasSurface::toDataURL):
5656
56572010-05-15  Anders Bakken  <agbakken@gmail.com>
5658
5659        Reviewed by Kenneth Rohde Christiansen.
5660
5661        QObject::objectName() returns a QString and QtField::name()
5662        creates a temporary QByteArray object and returns constData() from it.
5663        This is not safe.
5664
5665        This patch changes the signature of the function to return a
5666        QByteArray instead of const char *.
5667
5668        https://bugs.webkit.org/show_bug.cgi?id=39010
5669
5670        * bridge/qt/qt_instance.cpp:
5671        (JSC::Bindings::QtInstance::getPropertyNames):
5672        (JSC::Bindings::QtField::name):
5673        * bridge/qt/qt_runtime.h:
5674
56752010-05-15  Anders Bakken  <agbakken@gmail.com>
5676
5677        Reviewed by Kenneth Rohde Christiansen.
5678
5679        Don't unnecessarily copy data when searching for methods in QtClass.
5680
5681        [Qt] JSValue QtClass::fallbackObject can be optimized
5682        https://bugs.webkit.org/show_bug.cgi?id=37684
5683
5684        * bridge/qt/qt_class.cpp:
5685        (JSC::Bindings::QtClass::fallbackObject):
5686
56872010-05-15  Anders Bakken  <agbakken@gmail.com>
5688
5689        Reviewed by Kenneth Rohde Christiansen.
5690
5691        Identifier::ascii() is not threadsafe and shouldn't be used for
5692        converting to and from QString/QByteArray.
5693
5694        https://bugs.webkit.org/show_bug.cgi?id=39009
5695
5696        * bridge/qt/qt_class.cpp:
5697        (JSC::Bindings::QtClass::fallbackObject):
5698        (JSC::Bindings::QtClass::fieldNamed):
5699
57002010-05-15  Chang Shu  <chang.shu@nokia.com>
5701
5702        Reviewed by Kenneth Rohde Christiansen.
5703
5704        Based on the spec and Philip Taylor's test suite, createImageData() should throw
5705        an INDEX_SIZE_ERR exception if either the sw or sh arguments are zero.
5706        The link to the spec:
5707        http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.imageData.getcreate.zero
5708
5709        https://bugs.webkit.org/show_bug.cgi?id=39166
5710
5711        The complete test suite is in the process of checking in.
5712        https://bugs.webkit.org/show_bug.cgi?id=20553
5713
5714        * html/canvas/CanvasRenderingContext2D.cpp:
5715        (WebCore::CanvasRenderingContext2D::createImageData):
5716
57172010-05-15  Adam Barth  <abarth@webkit.org>
5718
5719        Reviewed by Darin Adler.
5720
5721        XMLHttpRequest.getResponseHeader doesn't need to be custom
5722        https://bugs.webkit.org/show_bug.cgi?id=39125
5723
5724        I don't see any reason this method needs to be custom.  No new tests
5725        because there's no behavior change.
5726
5727        * bindings/js/JSXMLHttpRequestCustom.cpp:
5728        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
5729        * xml/XMLHttpRequest.idl:
5730
57312010-05-15  Adam Barth  <abarth@webkit.org>
5732
5733        Reviewed by Darin Adler.
5734
5735        XMLHttpRequest.setRequestHeader shouldn't be custom
5736        https://bugs.webkit.org/show_bug.cgi?id=39124
5737
5738        I don't see any reason why this method needs to be custom.  No tests
5739        because no behavior change.
5740
5741        * bindings/js/JSXMLHttpRequestCustom.cpp:
5742        * bindings/scripts/CodeGeneratorJS.pm:
5743        * bindings/scripts/CodeGeneratorV8.pm:
5744        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
5745        (webkit_dom_test_obj_method_that_requires_all_args):
5746        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
5747        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
5748        * bindings/scripts/test/JS/JSTestObj.cpp:
5749        (WebCore::):
5750        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
5751        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
5752        * bindings/scripts/test/JS/JSTestObj.h:
5753        * bindings/scripts/test/ObjC/DOMTestObj.h:
5754        * bindings/scripts/test/ObjC/DOMTestObj.mm:
5755        (-[DOMTestObj methodThatRequiresAllArgs:objArg:]):
5756        (-[DOMTestObj methodThatRequiresAllArgsAndThrows:objArg:]):
5757        * bindings/scripts/test/TestObj.idl:
5758        * bindings/scripts/test/V8/V8TestObj.cpp:
5759        (WebCore::TestObjInternal::methodThatRequiresAllArgsCallback):
5760        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
5761        (WebCore::ConfigureV8TestObjTemplate):
5762        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
5763        * xml/XMLHttpRequest.idl:
5764
57652010-05-14  Alexey Proskuryakov  <ap@apple.com>
5766
5767        Reviewed by Darin Adler.
5768
5769        https://bugs.webkit.org/show_bug.cgi?id=39048
5770        <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
5771        defined") with JavaScript disabled
5772
5773        Google Maps goes into mobile mode if JavaScript is disabled for some reason, and sends XHTML
5774        content with XHTML Mobile DOCTYPE. We want to handle it whether XHTMLMP is enabled or not.
5775
5776        Test: fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml
5777
5778        * dom/XMLTokenizerLibxml2.cpp: (WebCore::externalSubsetHandler): Restore pre-55802 behavior
5779        for builds that don't have XHTMLMP enabled. Given that r55802 negated the condition without
5780        breaking XHTMLMP, this line is actually always needed.
5781
57822010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
5783
5784        Reviewed by Darin Fisher.
5785
5786        Fixing LayerChromium hierarchy updates where due to mixed ownership
5787        handling, sublayer updates didn't always properly update parent-to-child
5788        and child-to-parent pointers in sync.
5789        https://bugs.webkit.org/show_bug.cgi?id=39138
5790
5791        * platform/graphics/chromium/LayerChromium.cpp:
5792        (WebCore::LayerChromium::~LayerChromium):
5793        (WebCore::LayerChromium::setNeedsCommit): Typo fix.
5794        (WebCore::LayerChromium::insertSublayer):
5795        (WebCore::LayerChromium::removeFromSuperlayer):
5796        (WebCore::LayerChromium::removeSublayer):
5797        (WebCore::LayerChromium::replaceSublayer):
5798        (WebCore::LayerChromium::removeAllSublayers):
5799        (WebCore::LayerChromium::setSublayers):
5800        * platform/graphics/chromium/LayerChromium.h:
5801        (WebCore::LayerChromium::setSuperlayer):
5802
58032010-05-15  Andrey Kosyakov  <caseq@chromium.org>
5804
5805        Reviewed by Timothy Hatcher.
5806
5807        Got rid of absolute positioning in favor of flex boxes where possible.
5808        Added shadow for help window.
5809        Changed window style names to more comprehensible.
5810        https://bugs.webkit.org/show_bug.cgi?id=39120
5811 
5812        * inspector/front-end/HelpScreen.js:
5813        (WebInspector.HelpScreen):
5814        * inspector/front-end/helpScreen.css:
5815        (.help-window-outer):
5816        (body.attached .help-window-outer):
5817        (.help-window-main):
5818        (body.attached .help-window-main):
5819        (.help-window-caption):
5820        (body.attached .help-window-caption):
5821        (.help-window-title):
5822        (.help-scrollable):
5823        (.help-close-button):
5824        (body.platform-mac .help-close-button):
5825        (body:not(.platform-mac) .help-close-button):
5826
58272010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
5828
5829        Unreviewed, rolling out r59549.
5830        http://trac.webkit.org/changeset/59549
5831        https://bugs.webkit.org/show_bug.cgi?id=39167
5832
5833        Broke Chromium build (Requested by abarth on #webkit).
5834
5835        * bindings/scripts/CodeGeneratorV8.pm:
5836        * storage/IDBRequest.cpp:
5837        (WebCore::IDBRequest::suspend):
5838        (WebCore::IDBRequest::resume):
5839        (WebCore::IDBRequest::timerFired):
5840        (WebCore::IDBRequest::onEventCommon):
5841        * storage/IDBRequest.h:
5842
58432010-05-15  Vangelis Kokkevis  <vangelis@chromium.org>
5844
5845        Reviewed by Darin Fisher.
5846
5847        Adding code path for composited layers (LayerChromium) containing only
5848        an Image element.
5849        https://bugs.webkit.org/show_bug.cgi?id=39142
5850
5851        No new tests, covered under the existing tests for composited layers.
5852
5853        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
5854        (WebCore::GraphicsLayerChromium::setContentsToImage):
5855        (WebCore::GraphicsLayerChromium::updateContentsImage):
5856        * platform/graphics/chromium/GraphicsLayerChromium.h:
5857        * platform/graphics/chromium/LayerChromium.cpp:
5858        (WebCore::LayerChromium::LayerChromium):
5859        (WebCore::LayerChromium::setContents):
5860        * platform/graphics/chromium/LayerChromium.h:
5861        (WebCore::LayerChromium::contents):
5862
58632010-05-15  Andrei Popescu  <andreip@google.com>
5864
5865        Reviewed by Jeremy Orlow.
5866
5867        IDBRequest is not a proper ActiveDomObject
5868        https://bugs.webkit.org/show_bug.cgi?id=39001
5869
5870        Add IDBRequest interface to the IsActiveDomType
5871        routine of the CodeGeneratorV8.pm.
5872
5873        Rename IDBRequest::m_stopped to m_suspended and reset
5874        the flag when resume() is called.
5875
5876        No new tests, Indexed Database isn't yet testable.
5877
5878        * bindings/scripts/CodeGeneratorV8.pm:
5879        * storage/IDBRequest.cpp:
5880        (WebCore::IDBRequest::suspend):
5881        (WebCore::IDBRequest::resume):
5882        (WebCore::IDBRequest::timerFired):
5883        (WebCore::IDBRequest::onEventCommon):
5884        * storage/IDBRequest.h:
5885
58862010-05-15  Andrei Bucur  <abucur@adobe.com>
5887
5888        Reviewed by Gustavo Noronha Silva.
5889
5890        Functions using the cairo_pattern_t object returned by
5891        Pattern::createPlatformPattern sould destroy it after the painting
5892        operation. Failing to do so causes memory leaks.
5893
5894        Test: No test was added because the patch adds no new functionality.
5895        It just completes the normal life cycle of a cairo_pattern_t object.
5896
5897        * platform/graphics/cairo/FontCairo.cpp:
5898        (WebCore::Font::drawGlyphs):
5899        * platform/graphics/cairo/GraphicsContextCairo.cpp:
5900        (WebCore::setPlatformFill):
5901        (WebCore::setPlatformStroke):
5902
59032010-05-15  Yael Aharon  <yael.aharon@nokia.com>
5904
5905        Reviewed by Kent Tamura.
5906
5907        Initial support for HTMLMeterElement
5908        https://bugs.webkit.org/show_bug.cgi?id=38140
5909
5910        This patch adds support for HTMLMeterElement, including default rendering
5911        of the meter element. That is because some platforms do not have a native gauge.
5912        The feature is turned on only for the Qt platform.
5913
5914        Tests: fast/dom/HTMLMeterElement/meter-element.html
5915               fast/dom/HTMLMeterElement/set-meter-properties.html
5916
5917        * DerivedSources.cpp:
5918        * DerivedSources.make:
5919        * GNUmakefile.am:
5920        * WebCore.gypi:
5921        * WebCore.pri:
5922        * WebCore.pro:
5923        * WebCore.vcproj/WebCore.vcproj:
5924        * css/CSSPrimitiveValueMappings.h:
5925        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
5926        * css/CSSValueKeywords.in:
5927        * css/html.css:
5928        (meter):
5929        (meter::-webkit-meter):
5930        * html/HTMLAttributeNames.in:
5931        * html/HTMLElement.cpp:
5932        (WebCore::inlineTagList):
5933        * html/HTMLElementsAllInOne.cpp:
5934        * html/HTMLMeterElement.cpp: Added.
5935        (WebCore::HTMLMeterElement::HTMLMeterElement):
5936        (WebCore::HTMLMeterElement::create):
5937        (WebCore::HTMLMeterElement::createRenderer):
5938        (WebCore::HTMLMeterElement::formControlType):
5939        (WebCore::HTMLMeterElement::parseMappedAttribute):
5940        (WebCore::HTMLMeterElement::min):
5941        (WebCore::HTMLMeterElement::setMin):
5942        (WebCore::HTMLMeterElement::max):
5943        (WebCore::HTMLMeterElement::setMax):
5944        (WebCore::HTMLMeterElement::value):
5945        (WebCore::HTMLMeterElement::setValue):
5946        (WebCore::HTMLMeterElement::low):
5947        (WebCore::HTMLMeterElement::setLow):
5948        (WebCore::HTMLMeterElement::high):
5949        (WebCore::HTMLMeterElement::setHigh):
5950        (WebCore::HTMLMeterElement::optimum):
5951        (WebCore::HTMLMeterElement::setOptimum):
5952        * html/HTMLMeterElement.h: Added.
5953        (WebCore::HTMLMeterElement::recalcWillValidate):
5954        * html/HTMLMeterElement.idl: Added.
5955        * html/HTMLTagNames.in:
5956        * page/DOMWindow.idl:
5957        * platform/ThemeTypes.h:
5958        * rendering/RenderMeter.cpp: Added.
5959        (WebCore::RenderMeter::RenderMeter):
5960        (WebCore::RenderMeter::layout):
5961        (WebCore::RenderMeter::updateFromElement):
5962        * rendering/RenderMeter.h: Added.
5963        (WebCore::RenderMeter::renderName):
5964        (WebCore::RenderMeter::isMeter):
5965        (WebCore::toRenderMeter):
5966        * rendering/RenderObject.h:
5967        (WebCore::RenderObject::isMeter):
5968        * rendering/RenderTheme.cpp:
5969        (WebCore::RenderTheme::adjustStyle):
5970        (WebCore::RenderTheme::paint):
5971        (WebCore::RenderTheme::paintBorderOnly):
5972        (WebCore::RenderTheme::paintDecorations):
5973        (WebCore::RenderTheme::adjustMeterStyle):
5974        (WebCore::RenderTheme::paintMeter):
5975        * rendering/RenderTheme.h:
5976
59772010-05-15  Eric Uhrhane  <ericu@chromium.org>
5978
5979        Reviewed by Dmitry Titov.
5980
5981        Add bindings for async DB API in Workers.
5982        https://bugs.webkit.org/show_bug.cgi?id=34992
5983
5984        Tests: storage/change-version-handle-reuse-worker.html
5985               storage/execute-sql-args-worker.html
5986
5987        * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
5988        (WebCore::JSWorkerContext::openDatabase):
5989
5990        * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
5991        (WebCore::V8WorkerContext::openDatabaseCallback):
5992
5993        Add NoStaticTables flags to all objects now shared with workers.
5994        * storage/Database.idl:
5995        * storage/SQLError.idl:
5996        * storage/SQLResultSet.idl:
5997        * storage/SQLResultSetRowList.idl:
5998        * storage/SQLTransaction.idl:
5999        
6000        * workers/WorkerContext.h: Add databaseExceededQuota.
6001        * workers/WorkerContext.cpp:
6002        (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
6003        (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
6004
6005        Add the IDL for the call to openDatabase.
6006        * workers/WorkerContext.idl:
6007
60082010-05-15  Leandro Pereira  <leandro@profusion.mobi>
6009
6010        Reviewed by Adam Treat.
6011
6012        [EFL] Add build system for the EFL port.
6013        http://webkit.org/b/37945
6014
6015        * CMakeLists.txt: Added.
6016        * CMakeListsEfl.txt: Added.
6017        * config.h: Add conditional to look for cmakeconfig.h.
6018
60192010-05-15  Adam Barth  <abarth@webkit.org>
6020
6021        Reviewed by Darin Adler.
6022
6023        Clipboard.setData doesn't need to be custom
6024        https://bugs.webkit.org/show_bug.cgi?id=39133
6025
6026        The implementation of the custom binding for this function was a bit
6027        different than its declaration in the IDL file.  I've updated the IDL
6028        to match the implementation, but we probably should check whether our
6029        behavior is correct with respect to the specification.
6030
6031        No tests because I've maintained our current behavior.
6032
6033        * bindings/js/JSClipboardCustom.cpp:
6034        * bindings/v8/custom/V8ClipboardCustom.cpp:
6035        * dom/Clipboard.idl:
6036
60372010-05-15  Yaar Schnitman  <yaar@chromium.org>
6038
6039        Reviewed by Adam Barth.
6040
6041        V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
6042        https://bugs.webkit.org/show_bug.cgi?id=38920
6043
6044        Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
6045
6046        * bindings/scripts/CodeGenerator.pm:
6047        * bindings/scripts/CodeGeneratorJS.pm:
6048        * bindings/scripts/CodeGeneratorV8.pm:
6049        * bindings/scripts/test/JS/JSTestCallback.cpp:
6050        (WebCore::JSTestCallback::JSTestCallback):
6051        (WebCore::JSTestCallback::~JSTestCallback):
6052        * bindings/scripts/test/JS/JSTestCallback.h: 
6053        * bindings/scripts/test/JS/JSTestObj.cpp:
6054        (WebCore::):
6055        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
6056        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
6057        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
6058        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
6059        (WebCore::testObjPrototypeFunctionOverloadedMethod):
6060        * bindings/scripts/test/JS/JSTestObj.h:
6061        * bindings/scripts/test/TestObj.idl:
6062
60632010-05-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
6064
6065        Reviewed by Xan Lopez.
6066
6067        https://bugs.webkit.org/show_bug.cgi?id=30500
6068        [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
6069
6070        The "announcement" is now made in the form of an object attribute
6071        associated with the AtkObject.
6072
6073        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
6074        (webkit_accessible_get_attributes):
6075
60762010-05-15  Adam Barth  <abarth@webkit.org>
6077
6078        Reviewed by Darin Adler.
6079
6080        Show a console message when X-Frame-Options blocks a load
6081        https://bugs.webkit.org/show_bug.cgi?id=39087
6082
6083        The blank page confuses people when X-Frame-Options blocks a load.  The
6084        console message should at least give them a hint as to what's going on.
6085
6086        * dom/Document.cpp:
6087        (WebCore::Document::processHttpEquiv):
6088
60892010-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
6090
6091        Reviewed by Geoffrey Garen.
6092
6093        WebInspector: JSC Should provide heap size info for Timeline panel.
6094        https://bugs.webkit.org/show_bug.cgi?id=38420
6095
6096        * GNUmakefile.am:
6097        * WebCore.pro:
6098        * WebCore.vcproj/WebCore.vcproj:
6099        * WebCore.xcodeproj/project.pbxproj:
6100        * bindings/js/ScriptGCEvent.cpp: Added.
6101        (WebCore::ScriptGCEvent::getHeapSize):
6102        * bindings/js/ScriptGCEvent.h:
6103
61042010-05-15  Dave Tapuska  <dtapuska@rim.com>
6105
6106        Reviewed by Darin Adler.
6107
6108        Fix alignment faults on ARMv5TE architectures.
6109
6110        In debug mode the RenderAreaDebugHeader was 12 bytes which
6111        caused an alignment failure for RenderObjects because they
6112        would start on a 4 byte boundary. Align the RenderArenaDebugHeader
6113        using the ARENA_ALIGN macro.
6114
6115        In NDEBUG mode the RenderArena objects come from a pool which
6116        has 4 byte alignment. Allow the alignment to be based on the
6117        AllocAlignmentInteger. This define will be activated for ARMv5TE.
6118
6119        https://bugs.webkit.org/show_bug.cgi?id=19946
6120
61212010-05-14  Adam Barth  <abarth@webkit.org>
6122
6123        Reviewed by Darin Adler.
6124
6125        XMLHttpRequest.overrideMimeType doesn't need to be custom
6126        https://bugs.webkit.org/show_bug.cgi?id=39127
6127
6128        I don't see any reason why this method should be custom.  No tests
6129        because no behavior change.
6130
6131        * bindings/js/JSXMLHttpRequestCustom.cpp:
6132        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6133        * xml/XMLHttpRequest.idl:
6134
61352010-05-14  Adele Peterson  <adele@apple.com>
6136
6137        Reviewed by Dave Hyatt.
6138
6139        Fix for https://bugs.webkit.org/show_bug.cgi?id=39095 
6140        <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
6141
6142        Test: editing/selection/applystyle-to-inline-inside-block.html
6143
6144        * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
6145        downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to 
6146        jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
6147
61482010-05-14  Brian Weinstein  <bweinstein@apple.com>
6149
6150        Reviewed by Mark Rowe.
6151
6152        Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
6153        use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
6154        of nmake variables.
6155        
6156        * WebCore.vcproj/WebCore.make:
6157
61582010-05-14  Stephanie Lewis  <slewis@apple.com>
6159
6160        Rubber-stamped by Mark Rowe.
6161
6162        Update order files.
6163
6164        * WebCore.order:
6165
61662010-05-14  David Hyatt  <hyatt@apple.com>
6167
6168        Reviewed by Simon Fraser.
6169
6170        https://bugs.webkit.org/show_bug.cgi?id=39137
6171
6172        Make RenderLayers position properly inside multicolumn layout.
6173        
6174        (1) Create RenderLayers when column properties are specified.  This allows descendant layers to easily
6175        know they are inside a multicolumn layout when positioning.
6176        
6177        (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer.  Splitting
6178        of a layer across columns still does not work, but the layer will now at least appear in the first column in
6179        which it occurs.
6180        
6181        (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
6182        are involved.  Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
6183        working properly).  With this change elements like <video> will paginate properly and not get split across pages.
6184
6185        (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
6186        account for RTL.
6187        
6188        (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
6189        the width of one column.
6190
6191        Added fast/multicol/layers-in-multicol.html
6192
6193        * rendering/RenderBlock.cpp:
6194        (WebCore::RenderBlock::layoutColumns):
6195        (WebCore::RenderBlock::adjustForColumns):
6196        * rendering/RenderBox.h:
6197        (WebCore::RenderBox::locationOffset):
6198        * rendering/RenderBoxModelObject.h:
6199        (WebCore::RenderBoxModelObject::requiresLayer):
6200        * rendering/RenderLayer.cpp:
6201        (WebCore::RenderLayer::updateLayerPosition):
6202        (WebCore::RenderLayer::convertToLayerCoords):
6203        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
6204        * rendering/RenderLineBoxList.cpp:
6205        (WebCore::RenderLineBoxList::paint):
6206        * rendering/RenderView.cpp:
6207        (WebCore::RenderView::RenderView):
6208        * rendering/RenderView.h:
6209        (WebCore::RenderView::requiresLayer):
6210        * rendering/style/RenderStyle.h:
6211        (WebCore::InheritedFlags::specifiesColumns):
6212
62132010-05-14  Leon Clarke  <leonclarke@google.com>
6214
6215        Reviewed by Steve Block.
6216
6217        Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
6218        https://bugs.webkit.org/show_bug.cgi?id=38900
6219
6220        No new tests. Refactoring only.
6221
6222        * html/HTMLLinkElement.cpp:
6223        (WebCore::HTMLLinkElement::HTMLLinkElement):
6224        (WebCore::HTMLLinkElement::setDisabledState):
6225        (WebCore::HTMLLinkElement::parseMappedAttribute):
6226        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
6227        (WebCore::HTMLLinkElement::process):
6228        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
6229        * html/HTMLLinkElement.h:
6230        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
6231        (WebCore::HTMLLinkElement::isAlternate):
6232        (WebCore::HTMLLinkElement::isDisabled):
6233        (WebCore::HTMLLinkElement::isEnabledViaScript):
6234        (WebCore::HTMLLinkElement::isIcon):
6235        (WebCore::HTMLLinkElement::):
6236        * html/PreloadScanner.cpp:
6237        (WebCore::PreloadScanner::processAttribute):
6238
62392010-05-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
6240
6241        Reviewed by Kenneth Rohde Christiansen.
6242
6243        [Qt] GraphicsLayer caches directly composited images
6244        https://bugs.webkit.org/show_bug.cgi?id=38444
6245
6246        Directly-composited images and solid fills shouldn't be cached, as that cache
6247        is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
6248        but we were missing that test.
6249        The fix makes sure we only cache HTML content.
6250
6251        No new tests: this is a minor optimization.
6252
6253        * platform/graphics/qt/GraphicsLayerQt.cpp:
6254        (WebCore::GraphicsLayerQtImpl::flushChanges):
6255
62562010-05-14  Brian Weinstein  <bweinstein@apple.com>
6257
6258        Reviewed by Mark Rowe.
6259
6260        Build fix. Had the environment variables wrong for source and destination of the copy operation
6261        that was added.
6262
6263        * WebCore.vcproj/WebCore.make:
6264
62652010-05-14  Adam Barth  <abarth@webkit.org>
6266
6267        Reviewed by Eric Seidel.
6268
6269        Remove custom bindings for HTMLInputElement
6270        https://bugs.webkit.org/show_bug.cgi?id=38344
6271
6272        Fix a bug in the TestObj.idl file and update expected results.  This
6273        was originally part of a larger change reviewed by Eric, but I'm
6274        landing it separately to help me understand the more interesting bits
6275        of the patch clearly.
6276
6277        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
6278        (webkit_dom_test_obj_get_attr_with_setter_exception):
6279        (webkit_dom_test_obj_set_attr_with_setter_exception):
6280        (webkit_dom_test_obj_set_attr_with_getter_exception):
6281        (webkit_dom_test_obj_set_property):
6282        (webkit_dom_test_obj_get_property):
6283        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
6284        * bindings/scripts/test/JS/JSTestObj.cpp:
6285        (WebCore::jsTestObjAttrWithSetterException):
6286        (WebCore::setJSTestObjAttrWithSetterException):
6287        (WebCore::setJSTestObjAttrWithGetterException):
6288        * bindings/scripts/test/ObjC/DOMTestObj.mm:
6289        (-[DOMTestObj attrWithSetterException]):
6290        (-[DOMTestObj setAttrWithSetterException:]):
6291        (-[DOMTestObj setAttrWithGetterException:]):
6292        * bindings/scripts/test/TestObj.idl:
6293        * bindings/scripts/test/V8/V8TestObj.cpp:
6294        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
6295        (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
6296        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
6297
62982010-05-14  Kenneth Russell  <kbr@google.com>
6299
6300        Reviewed by Darin Adler.
6301
6302        Rename WebGLArray types to TypedArray types
6303        https://bugs.webkit.org/show_bug.cgi?id=39091
6304
6305        Extended functionality of do-webcore-rename script and used it to
6306        rename the WebGLArray types to the TypedArray naming convention.
6307        The only source files which were touched by hand, and which are
6308        being manually reviewed, are:
6309            WebCore/page/DOMWindow.idl
6310            WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
6311            WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
6312            WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
6313        These only needed to be touched to update the aliases between the
6314        WebGLArray and TypedArray names introduced in bug 39036. (It was
6315        not feasible to have do-webcore-rename handle this as it would
6316        introduce circular renamings.) These aliases will be removed in
6317        roughly a month once existing WebGL content has been updated.
6318
6319        No new tests; covered under existing WebGL tests. Updated
6320        constructed-objects-prototypes and prototype-inheritance-2 tests.
6321        Ran all layout tests in Safari and all WebGL tests in Chromium.
6322
6323        * DerivedSources.make:
6324        * GNUmakefile.am:
6325        * WebCore.gypi:
6326        * WebCore.pri:
6327        * WebCore.pro:
6328        * WebCore.xcodeproj/project.pbxproj:
6329        * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
6330        (WebCore::):
6331        (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
6332        (WebCore::constructCanvasArrayBuffer):
6333        (WebCore::JSArrayBufferConstructor::getConstructData):
6334        * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
6335        (WebCore::construct):
6336        * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
6337        (WebCore::toJS):
6338        (WebCore::JSArrayBufferView::slice):
6339        * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
6340        * bindings/js/JSDOMWindowCustom.cpp:
6341        (WebCore::JSDOMWindow::arrayBuffer):
6342        (WebCore::JSDOMWindow::int8Array):
6343        (WebCore::JSDOMWindow::uint8Array):
6344        (WebCore::JSDOMWindow::int32Array):
6345        (WebCore::JSDOMWindow::uint32Array):
6346        (WebCore::JSDOMWindow::int16Array):
6347        (WebCore::JSDOMWindow::uint16Array):
6348        (WebCore::JSDOMWindow::floatArray):
6349        (WebCore::JSDOMWindow::webGLArrayBuffer):
6350        (WebCore::JSDOMWindow::webGLByteArray):
6351        (WebCore::JSDOMWindow::webGLUnsignedByteArray):
6352        (WebCore::JSDOMWindow::webGLIntArray):
6353        (WebCore::JSDOMWindow::webGLUnsignedIntArray):
6354        (WebCore::JSDOMWindow::webGLShortArray):
6355        (WebCore::JSDOMWindow::webGLUnsignedShortArray):
6356        (WebCore::JSDOMWindow::webGLFloatArray):
6357        * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
6358        (WebCore::):
6359        (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
6360        (WebCore::constructCanvasFloatArray):
6361        (WebCore::JSFloatArrayConstructor::getConstructData):
6362        * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
6363        * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
6364        (WebCore::JSFloatArray::indexSetter):
6365        (WebCore::toJS):
6366        (WebCore::JSFloatArray::set):
6367        * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
6368        (WebCore::):
6369        (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
6370        (WebCore::constructCanvasShortArray):
6371        (WebCore::JSInt16ArrayConstructor::getConstructData):
6372        * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
6373        * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
6374        (WebCore::JSInt16Array::indexSetter):
6375        (WebCore::toJS):
6376        (WebCore::JSInt16Array::set):
6377        * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
6378        (WebCore::):
6379        (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
6380        (WebCore::constructCanvasIntArray):
6381        (WebCore::JSInt32ArrayConstructor::getConstructData):
6382        * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
6383        * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
6384        (WebCore::JSInt32Array::indexSetter):
6385        (WebCore::toJS):
6386        (WebCore::JSInt32Array::set):
6387        * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
6388        (WebCore::):
6389        (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
6390        (WebCore::constructCanvasByteArray):
6391        (WebCore::JSInt8ArrayConstructor::getConstructData):
6392        * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
6393        * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
6394        (WebCore::JSInt8Array::indexSetter):
6395        (WebCore::toJS):
6396        (WebCore::JSInt8Array::set):
6397        * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
6398        (WebCore::):
6399        (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
6400        (WebCore::constructCanvasUnsignedShortArray):
6401        (WebCore::JSUint16ArrayConstructor::getConstructData):
6402        * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
6403        * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
6404        (WebCore::JSUint16Array::indexSetter):
6405        (WebCore::toJS):
6406        (WebCore::JSUint16Array::set):
6407        * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
6408        (WebCore::):
6409        (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
6410        (WebCore::constructCanvasUnsignedIntArray):
6411        (WebCore::JSUint32ArrayConstructor::getConstructData):
6412        * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
6413        * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
6414        (WebCore::JSUint32Array::indexSetter):
6415        (WebCore::toJS):
6416        (WebCore::JSUint32Array::set):
6417        * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
6418        (WebCore::):
6419        (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
6420        (WebCore::constructCanvasUnsignedByteArray):
6421        (WebCore::JSUint8ArrayConstructor::getConstructData):
6422        * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
6423        * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
6424        (WebCore::JSUint8Array::indexSetter):
6425        (WebCore::toJS):
6426        (WebCore::JSUint8Array::set):
6427        * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
6428        * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
6429        * bindings/js/JSWebGLArrayCustom.cpp: Removed.
6430        * bindings/js/JSWebGLArrayHelper.h: Removed.
6431        * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
6432        * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
6433        * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
6434        * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
6435        * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
6436        * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
6437        * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
6438        * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
6439        * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
6440        * bindings/js/JSWebGLRenderingContextCustom.cpp:
6441        (WebCore::JSWebGLRenderingContext::bufferData):
6442        (WebCore::JSWebGLRenderingContext::bufferSubData):
6443        (WebCore::JSWebGLRenderingContext::texImage2D):
6444        (WebCore::JSWebGLRenderingContext::texSubImage2D):
6445        (WebCore::dataFunctionf):
6446        (WebCore::dataFunctioni):
6447        (WebCore::dataFunctionMatrix):
6448        * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
6449        * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
6450        * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
6451        * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
6452        * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
6453        * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
6454        * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
6455        * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
6456        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
6457        * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
6458        * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
6459        * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
6460        * bindings/v8/V8DOMWrapper.cpp:
6461        * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
6462        (WebCore::V8ArrayBuffer::constructorCallback):
6463        * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
6464        (WebCore::toV8):
6465        (WebCore::V8ArrayBufferView::sliceCallback):
6466        * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
6467        (WebCore::constructWebGLArray):
6468        * bindings/v8/custom/V8DOMWindowCustom.cpp:
6469        (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
6470        (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
6471        (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
6472        (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
6473        (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
6474        (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
6475        (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
6476        (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
6477        * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
6478        (WebCore::V8FloatArray::constructorCallback):
6479        (WebCore::V8FloatArray::setCallback):
6480        (WebCore::toV8):
6481        * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
6482        (WebCore::V8Int16Array::constructorCallback):
6483        (WebCore::V8Int16Array::setCallback):
6484        (WebCore::toV8):
6485        * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
6486        (WebCore::V8Int32Array::constructorCallback):
6487        (WebCore::V8Int32Array::setCallback):
6488        (WebCore::toV8):
6489        * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
6490        (WebCore::V8Int8Array::constructorCallback):
6491        (WebCore::V8Int8Array::setCallback):
6492        (WebCore::toV8):
6493        * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
6494        (WebCore::V8Uint16Array::constructorCallback):
6495        (WebCore::V8Uint16Array::setCallback):
6496        (WebCore::toV8):
6497        * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
6498        (WebCore::V8Uint32Array::constructorCallback):
6499        (WebCore::V8Uint32Array::setCallback):
6500        (WebCore::toV8):
6501        * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
6502        (WebCore::V8Uint8Array::constructorCallback):
6503        (WebCore::V8Uint8Array::setCallback):
6504        (WebCore::toV8):
6505        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
6506        * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
6507        * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
6508        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
6509        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
6510        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
6511        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
6512        (WebCore::vertexAttribAndUniformHelperf):
6513        (WebCore::uniformHelperi):
6514        (WebCore::uniformMatrixHelper):
6515        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
6516        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
6517        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
6518        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
6519        * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
6520        (WebCore::ArrayBuffer::create):
6521        (WebCore::ArrayBuffer::ArrayBuffer):
6522        (WebCore::ArrayBuffer::data):
6523        (WebCore::ArrayBuffer::byteLength):
6524        (WebCore::ArrayBuffer::~ArrayBuffer):
6525        (WebCore::ArrayBuffer::tryAllocate):
6526        * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
6527        * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
6528        * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
6529        (WebCore::ArrayBufferView::ArrayBufferView):
6530        (WebCore::ArrayBufferView::~ArrayBufferView):
6531        (WebCore::ArrayBufferView::setImpl):
6532        (WebCore::ArrayBufferView::calculateOffsetAndLength):
6533        * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
6534        (WebCore::ArrayBufferView::buffer):
6535        (WebCore::ArrayBufferView::verifySubRange):
6536        (WebCore::ArrayBufferView::clampOffsetAndNumElements):
6537        * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
6538        * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
6539        (WebCore::FloatArray::create):
6540        (WebCore::FloatArray::FloatArray):
6541        (WebCore::FloatArray::slice):
6542        * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
6543        (WebCore::FloatArray::set):
6544        (WebCore::FloatArray::item):
6545        * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
6546        * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
6547        (WebCore::Int16Array::create):
6548        (WebCore::Int16Array::Int16Array):
6549        (WebCore::Int16Array::slice):
6550        * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
6551        * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
6552        * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
6553        (WebCore::Int32Array::create):
6554        (WebCore::Int32Array::Int32Array):
6555        (WebCore::Int32Array::slice):
6556        * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
6557        * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
6558        * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
6559        (WebCore::Int8Array::create):
6560        (WebCore::Int8Array::Int8Array):
6561        (WebCore::Int8Array::slice):
6562        * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
6563        * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
6564        * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
6565        (WebCore::IntegralTypedArrayBase::set):
6566        (WebCore::IntegralTypedArrayBase::item):
6567        (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
6568        * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
6569        (WebCore::TypedArrayBase::set):
6570        (WebCore::TypedArrayBase::TypedArrayBase):
6571        (WebCore::TypedArrayBase::create):
6572        * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
6573        (WebCore::Uint16Array::create):
6574        (WebCore::Uint16Array::Uint16Array):
6575        (WebCore::Uint16Array::slice):
6576        * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
6577        * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
6578        * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
6579        (WebCore::Uint32Array::create):
6580        (WebCore::Uint32Array::Uint32Array):
6581        (WebCore::Uint32Array::slice):
6582        * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
6583        * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
6584        * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
6585        (WebCore::Uint8Array::create):
6586        (WebCore::Uint8Array::Uint8Array):
6587        (WebCore::Uint8Array::slice):
6588        * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
6589        * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
6590        * html/canvas/WebGLArray.cpp: Removed.
6591        * html/canvas/WebGLArray.h: Removed.
6592        * html/canvas/WebGLArray.idl: Removed.
6593        * html/canvas/WebGLArrayBuffer.cpp: Removed.
6594        * html/canvas/WebGLArrayBuffer.h: Removed.
6595        * html/canvas/WebGLArrayBuffer.idl: Removed.
6596        * html/canvas/WebGLBuffer.cpp:
6597        (WebCore::WebGLBuffer::associateBufferData):
6598        (WebCore::WebGLBuffer::associateBufferSubData):
6599        * html/canvas/WebGLBuffer.h:
6600        (WebCore::WebGLBuffer::elementArrayBuffer):
6601        * html/canvas/WebGLByteArray.cpp: Removed.
6602        * html/canvas/WebGLByteArray.h: Removed.
6603        * html/canvas/WebGLByteArray.idl: Removed.
6604        * html/canvas/WebGLFloatArray.cpp: Removed.
6605        * html/canvas/WebGLFloatArray.h: Removed.
6606        * html/canvas/WebGLFloatArray.idl: Removed.
6607        * html/canvas/WebGLGetInfo.cpp:
6608        (WebCore::WebGLGetInfo::WebGLGetInfo):
6609        (WebCore::WebGLGetInfo::getWebGLFloatArray):
6610        (WebCore::WebGLGetInfo::getWebGLIntArray):
6611        (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
6612        * html/canvas/WebGLGetInfo.h:
6613        * html/canvas/WebGLIntArray.cpp: Removed.
6614        * html/canvas/WebGLIntArray.h: Removed.
6615        * html/canvas/WebGLIntArray.idl: Removed.
6616        * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
6617        * html/canvas/WebGLRenderingContext.cpp:
6618        (WebCore::WebGLRenderingContext::bufferData):
6619        (WebCore::WebGLRenderingContext::bufferSubData):
6620        (WebCore::WebGLRenderingContext::getUniform):
6621        (WebCore::WebGLRenderingContext::getVertexAttrib):
6622        (WebCore::WebGLRenderingContext::readPixels):
6623        (WebCore::WebGLRenderingContext::texImage2D):
6624        (WebCore::WebGLRenderingContext::texSubImage2D):
6625        (WebCore::WebGLRenderingContext::uniform1fv):
6626        (WebCore::WebGLRenderingContext::uniform1iv):
6627        (WebCore::WebGLRenderingContext::uniform2fv):
6628        (WebCore::WebGLRenderingContext::uniform2iv):
6629        (WebCore::WebGLRenderingContext::uniform3fv):
6630        (WebCore::WebGLRenderingContext::uniform3iv):
6631        (WebCore::WebGLRenderingContext::uniform4fv):
6632        (WebCore::WebGLRenderingContext::uniform4iv):
6633        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
6634        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
6635        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
6636        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
6637        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
6638        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
6639        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
6640        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
6641        (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
6642        (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
6643        * html/canvas/WebGLRenderingContext.h:
6644        * html/canvas/WebGLRenderingContext.idl:
6645        * html/canvas/WebGLShortArray.cpp: Removed.
6646        * html/canvas/WebGLShortArray.h: Removed.
6647        * html/canvas/WebGLShortArray.idl: Removed.
6648        * html/canvas/WebGLTypedArrayBase.h: Removed.
6649        * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
6650        * html/canvas/WebGLUnsignedByteArray.h: Removed.
6651        * html/canvas/WebGLUnsignedByteArray.idl: Removed.
6652        * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
6653        * html/canvas/WebGLUnsignedIntArray.h: Removed.
6654        * html/canvas/WebGLUnsignedIntArray.idl: Removed.
6655        * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
6656        * html/canvas/WebGLUnsignedShortArray.h: Removed.
6657        * html/canvas/WebGLUnsignedShortArray.idl: Removed.
6658        * page/DOMWindow.idl:
6659        * platform/graphics/GraphicsContext3D.h:
6660        * platform/graphics/mac/GraphicsContext3DMac.cpp:
6661        (WebCore::GraphicsContext3D::bufferData):
6662        (WebCore::GraphicsContext3D::bufferSubData):
6663        * platform/graphics/qt/GraphicsContext3DQt.cpp:
6664        (WebCore::GraphicsContext3D::bufferData):
6665        (WebCore::GraphicsContext3D::bufferSubData):
6666
66672010-05-14  Steve Falkenburg  <sfalken@apple.com>
6668
6669        Reviewed by Sam Weinig.
6670
6671        <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
6672        https://bugs.webkit.org/show_bug.cgi?id=39132
6673
6674        * platform/network/cf/ResourceHandleCFNet.cpp:
6675        (WebCore::createConnectionProperties):
6676
66772010-05-14  Abhishek Arya  <inferno@chromium.org>
6678
6679        Reviewed by David Hyatt.
6680
6681        Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
6682        vector out-of-bounds check out of the ASSERT into the main code.
6683        https://bugs.webkit.org/show_bug.cgi?id=38261
6684
6685        Test: fast/table/fixed-table-layout-large-colspan-crash.html
6686
6687        * rendering/FixedTableLayout.cpp:
6688        (WebCore::FixedTableLayout::calcWidthArray):
6689
66902010-05-14  Eric Seidel  <eric@webkit.org>
6691
6692        Unreviewed, rolling out r59489.
6693        http://trac.webkit.org/changeset/59489
6694        https://bugs.webkit.org/show_bug.cgi?id=37815
6695
6696        abarth broke the known universe and then some.
6697
6698        * Android.jscbindings.mk:
6699        * GNUmakefile.am:
6700        * WebCore.gypi:
6701        * WebCore.pro:
6702        * WebCore.vcproj/WebCore.vcproj:
6703        * WebCore.xcodeproj/project.pbxproj:
6704        * bindings/js/JSBindingsAllInOne.cpp:
6705        * bindings/js/JSCallbackData.cpp:
6706        (WebCore::JSCallbackData::invokeCallback):
6707        * bindings/js/JSEventListener.cpp:
6708        (WebCore::JSEventListener::handleEvent):
6709        * bindings/js/JSInjectedScriptHostCustom.cpp:
6710        (WebCore::InjectedScriptHost::createInjectedScript):
6711        * bindings/js/ScheduledAction.cpp:
6712        (WebCore::ScheduledAction::executeFunctionInContext):
6713        (WebCore::ScheduledAction::execute):
6714        * bindings/js/ScheduledAction.h:
6715        * bindings/js/ScriptController.cpp:
6716        (WebCore::ScriptController::evaluateInWorld):
6717        * bindings/js/ScriptController.h:
6718        * bindings/js/ScriptFunctionCall.cpp:
6719        (WebCore::ScriptFunctionCall::call):
6720        * bindings/objc/ObjCEventListener.mm:
6721        (WebCore::ObjCEventListener::handleEvent):
6722        * bindings/objc/WebScriptObject.mm:
6723        (-[WebScriptObject callWebScriptMethod:withArguments:]):
6724        (-[WebScriptObject evaluateWebScript:]):
6725        * bindings/scripts/CodeGeneratorObjC.pm:
6726        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
6727        (-[DOMTestCallback callbackWithClass1Param:]):
6728        (-[DOMTestCallback callbackWithClass2Param:strArg:]):
6729        (-[DOMTestCallback callbackWithNonBoolReturnType:]):
6730        (-[DOMTestCallback customCallback:class6Param:]):
6731        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
6732        * bindings/scripts/test/ObjC/DOMTestObj.mm:
6733        (-[DOMTestObj readOnlyIntAttr]):
6734        (-[DOMTestObj readOnlyStringAttr]):
6735        (-[DOMTestObj readOnlyTestObjAttr]):
6736        (-[DOMTestObj intAttr]):
6737        (-[DOMTestObj setIntAttr:]):
6738        (-[DOMTestObj longLongAttr]):
6739        (-[DOMTestObj setLongLongAttr:]):
6740        (-[DOMTestObj unsignedLongLongAttr]):
6741        (-[DOMTestObj setUnsignedLongLongAttr:]):
6742        (-[DOMTestObj stringAttr]):
6743        (-[DOMTestObj setStringAttr:]):
6744        (-[DOMTestObj testObjAttr]):
6745        (-[DOMTestObj setTestObjAttr:]):
6746        (-[DOMTestObj attrWithException]):
6747        (-[DOMTestObj setAttrWithException:]):
6748        (-[DOMTestObj attrWithSetterException]):
6749        (-[DOMTestObj setAttrWithSetterException:]):
6750        (-[DOMTestObj attrWithGetterException]):
6751        (-[DOMTestObj setAttrWithGetterException:]):
6752        (-[DOMTestObj customAttr]):
6753        (-[DOMTestObj setCustomAttr:]):
6754        (-[DOMTestObj scriptStringAttr]):
6755        (-[DOMTestObj voidMethod]):
6756        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
6757        (-[DOMTestObj intMethod]):
6758        (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
6759        (-[DOMTestObj objMethod]):
6760        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
6761        (-[DOMTestObj serializedValue:]):
6762        (-[DOMTestObj methodWithException]):
6763        (-[DOMTestObj customMethod]):
6764        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
6765        (-[DOMTestObj customArgsAndException:]):
6766        (-[DOMTestObj addEventListener:listener:useCapture:]):
6767        (-[DOMTestObj removeEventListener:listener:useCapture:]):
6768        (-[DOMTestObj withDynamicFrame]):
6769        (-[DOMTestObj withDynamicFrameAndArg:]):
6770        (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
6771        (-[DOMTestObj withDynamicFrameAndUserGesture:]):
6772        (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
6773        (-[DOMTestObj withScriptStateVoid]):
6774        (-[DOMTestObj withScriptStateObj]):
6775        (-[DOMTestObj withScriptStateVoidException]):
6776        (-[DOMTestObj withScriptStateObjException]):
6777        (-[DOMTestObj methodWithOptionalArg:]):
6778        (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
6779        (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
6780        * bindings/v8/ScriptController.cpp:
6781        * bindings/v8/ScriptController.h:
6782        * html/HTMLFrameElementBase.cpp:
6783        (WebCore::HTMLFrameElementBase::isURLAllowed):
6784
67852010-05-14  Justin Schuh  <jschuh@chromium.org>
6786
6787        Reviewed by Adam Barth.
6788
6789        Moving frame.src checks out of the bindings
6790        https://bugs.webkit.org/show_bug.cgi?id=37815
6791
6792        Moved JavaScript frame.src checks out of bindings and into
6793        HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
6794        so ExecState is available inside core DOM. Updated affected bindings
6795        (except for GObject, which will need to be updated to avoid origin
6796        failures inside native code).
6797
6798        * Android.jscbindings.mk:
6799        * GNUmakefile.am:
6800        * WebCore.gypi:
6801        * WebCore.pro:
6802        * WebCore.vcproj/WebCore.vcproj:
6803        * WebCore.xcodeproj/project.pbxproj:
6804        * bindings/js/JSBindingsAllInOne.cpp:
6805        * bindings/js/JSCallbackData.cpp:
6806        (WebCore::JSCallbackData::invokeCallback):
6807        * bindings/js/JSEventListener.cpp:
6808        (WebCore::JSEventListener::handleEvent):
6809        * bindings/js/JSInjectedScriptHostCustom.cpp:
6810        (WebCore::InjectedScriptHost::createInjectedScript):
6811        * bindings/js/ScheduledAction.cpp:
6812        (WebCore::ScheduledAction::executeFunctionInContext):
6813        (WebCore::ScheduledAction::execute):
6814        * bindings/js/ScheduledAction.h:
6815        * bindings/js/ScriptController.cpp:
6816        (WebCore::ScriptController::evaluateInWorld):
6817        (WebCore::ScriptController::canAccessFromCurrentOrigin):
6818        * bindings/js/ScriptController.h:
6819        * bindings/js/ScriptFunctionCall.cpp:
6820        (WebCore::ScriptFunctionCall::call):
6821        * bindings/objc/ObjCEventListener.mm:
6822        (WebCore::ObjCEventListener::handleEvent):
6823        * bindings/objc/WebScriptObject.mm:
6824        (-[WebScriptObject callWebScriptMethod:withArguments:]):
6825        (-[WebScriptObject evaluateWebScript:]):
6826        * bindings/scripts/CodeGeneratorObjC.pm:
6827        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
6828        (-[DOMTestCallback callbackWithClass1Param:]):
6829        (-[DOMTestCallback callbackWithClass2Param:strArg:]):
6830        (-[DOMTestCallback callbackWithNonBoolReturnType:]):
6831        (-[DOMTestCallback customCallback:class6Param:]):
6832        * bindings/scripts/test/ObjC/DOMTestInterface.mm:
6833        * bindings/scripts/test/ObjC/DOMTestObj.mm:
6834        (-[DOMTestObj readOnlyIntAttr]):
6835        (-[DOMTestObj readOnlyStringAttr]):
6836        (-[DOMTestObj readOnlyTestObjAttr]):
6837        (-[DOMTestObj intAttr]):
6838        (-[DOMTestObj setIntAttr:]):
6839        (-[DOMTestObj longLongAttr]):
6840        (-[DOMTestObj setLongLongAttr:]):
6841        (-[DOMTestObj unsignedLongLongAttr]):
6842        (-[DOMTestObj setUnsignedLongLongAttr:]):
6843        (-[DOMTestObj stringAttr]):
6844        (-[DOMTestObj setStringAttr:]):
6845        (-[DOMTestObj testObjAttr]):
6846        (-[DOMTestObj setTestObjAttr:]):
6847        (-[DOMTestObj attrWithException]):
6848        (-[DOMTestObj setAttrWithException:]):
6849        (-[DOMTestObj attrWithSetterException]):
6850        (-[DOMTestObj setAttrWithSetterException:]):
6851        (-[DOMTestObj attrWithGetterException]):
6852        (-[DOMTestObj setAttrWithGetterException:]):
6853        (-[DOMTestObj customAttr]):
6854        (-[DOMTestObj setCustomAttr:]):
6855        (-[DOMTestObj scriptStringAttr]):
6856        (-[DOMTestObj voidMethod]):
6857        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
6858        (-[DOMTestObj intMethod]):
6859        (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
6860        (-[DOMTestObj objMethod]):
6861        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
6862        (-[DOMTestObj serializedValue:]):
6863        (-[DOMTestObj methodWithException]):
6864        (-[DOMTestObj customMethod]):
6865        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
6866        (-[DOMTestObj customArgsAndException:]):
6867        (-[DOMTestObj addEventListener:listener:useCapture:]):
6868        (-[DOMTestObj removeEventListener:listener:useCapture:]):
6869        (-[DOMTestObj withDynamicFrame]):
6870        (-[DOMTestObj withDynamicFrameAndArg:]):
6871        (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
6872        (-[DOMTestObj withDynamicFrameAndUserGesture:]):
6873        (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
6874        (-[DOMTestObj withScriptStateVoid]):
6875        (-[DOMTestObj withScriptStateObj]):
6876        (-[DOMTestObj withScriptStateVoidException]):
6877        (-[DOMTestObj withScriptStateObjException]):
6878        (-[DOMTestObj methodWithOptionalArg:]):
6879        (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
6880        (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
6881        * bindings/v8/ScriptController.cpp:
6882        (WebCore::ScriptController::canAccessFromCurrentOrigin):
6883        * bindings/v8/ScriptController.h:
6884        * html/HTMLFrameElementBase.cpp:
6885        (WebCore::HTMLFrameElementBase::isURLAllowed):
6886
68872010-05-14  Sergey Ulanov  <sergeyu@chromium.org>
6888
6889        Reviewed by Dmitry Titov and Brett Wilson.
6890
6891        Adding resized image caching for Skia.
6892        https://bugs.webkit.org/show_bug.cgi?id=39085
6893
6894        Tests: HTML5 video on YouTube.
6895
6896        * platform/graphics/skia/ImageSkia.cpp:
6897        (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
6898
68992010-05-14  Alexey Proskuryakov  <ap@apple.com>
6900
6901        Reviewed by Brady Eidson.
6902
6903        https://bugs.webkit.org/show_bug.cgi?id=39008
6904        <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
6905
6906        Test: fast/parser/tokenizer-close-during-document-write.html
6907
6908        * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
6909        after calling write(). It can become null (as it happens in regression test), and I don't
6910        see any guarantee that it would never be replaced with a different one (but I can't make a
6911        test for that).
6912
69132010-05-14  Jian Li  <jianli@chromium.org>
6914
6915        Rubber-stamped by Dmitry Titov.
6916
6917        Fix the code indentation inside a namespace to be consistent with the
6918        style guide.
6919
6920        * workers/GenericWorkerTask.h:
6921
69222010-05-14  Jian Li  <jianli@chromium.org>
6923
6924        Reviewed by Dmitry Titov.
6925
6926        Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
6927        all occurrences of GenericWorkerTask* to GenericTask* in this file.
6928        https://bugs.webkit.org/show_bug.cgi?id=39129
6929
6930        I will have another patch to rename the file and move it to the right
6931        place.
6932
6933        * workers/GenericWorkerTask.h:
6934        (WebCore::):
6935        (WebCore::GenericTask1::create):
6936        (WebCore::GenericTask1::GenericTask1):
6937        (WebCore::GenericTask2::create):
6938        (WebCore::GenericTask2::GenericTask2):
6939        (WebCore::GenericTask3::create):
6940        (WebCore::GenericTask3::GenericTask3):
6941        (WebCore::GenericTask4::create):
6942        (WebCore::GenericTask4::GenericTask4):
6943        (WebCore::GenericTask5::create):
6944        (WebCore::GenericTask5::GenericTask5):
6945        (WebCore::GenericTask6::create):
6946        (WebCore::GenericTask6::GenericTask6):
6947        (WebCore::GenericTask7::create):
6948        (WebCore::GenericTask7::GenericTask7):
6949        (WebCore::GenericTask8::create):
6950        (WebCore::GenericTask8::GenericTask8):
6951        (WebCore::createCallbackTask):
6952
69532010-05-14  Evan Martin  <evan@chromium.org>
6954
6955        Reviewed by David Levin.
6956
6957        [chromium] don't call fontconfig twice in complex text path
6958        https://bugs.webkit.org/show_bug.cgi?id=38701
6959
6960        Previously getFontDataForCharacters would call fontconfig once to
6961        resolve a font name, then pass that name to getCachedFontPlatformData
6962        to load the font.  This would be two trips through fontconfig (including
6963        IPCs).  With this change, we completely load the font in the first pass.
6964
6965        This patch is actually the same code as in r58341, which was reverted
6966        because of a performance problem; a performance improvement has now
6967        been committed, and with that change in place this change improves
6968        the Chromium intl2 page cycler performance by another 5%.
6969
6970        See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
6971
6972        Test: fast/text/international/bold-bengali.html
6973        (Was checked in as part of the first attempt at this change, continues
6974        to pass after this change.)
6975
6976        * platform/chromium/ChromiumBridge.h:
6977        * platform/graphics/chromium/FontCacheLinux.cpp:
6978        (WebCore::FontCache::getFontDataForCharacters):
6979
69802010-05-14  Young Han Lee  <joybro@company100.net>
6981
6982        Reviewed by Darin Adler.
6983
6984        Don't include RetainPtr.h unless PLATFORM(CF) is set.
6985        The RetainPtr is only used for CF platform in this class. 
6986        https://bugs.webkit.org/show_bug.cgi?id=39043
6987
6988        No new tests, there is no new functionality.
6989
6990        * platform/network/curl/ResourceHandleManager.cpp:
6991
69922010-05-14  Brian Weinstein  <bweinstein@apple.com>
6993
6994        Reviewed by Adam Roben.
6995
6996        Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
6997        WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
6998
6999        * WebCore.vcproj/WebCore.make: 
7000
70012010-05-14  Shinichiro Hamaji  <hamaji@chromium.org>
7002
7003        Unreviewed.  Attempt to fix chromium's memory bot error.
7004
7005        More :visited link optimizations to reduce memory usage
7006        https://bugs.webkit.org/show_bug.cgi?id=39084
7007
7008        The original change (r59386) adds check for m_element in initElement.
7009        As don't initialize m_element in the constructor of CSSStyleSelector,
7010        valgrind complains.
7011
7012        * css/CSSStyleSelector.cpp:
7013        (WebCore::CSSStyleSelector::CSSStyleSelector):
7014
70152010-05-14  Andreas Kling  <andreas.kling@nokia.com>
7016
7017        Reviewed by Darin Adler.
7018
7019        CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
7020        https://bugs.webkit.org/show_bug.cgi?id=39031
7021
7022        * css/CSSParser.cpp:
7023        (WebCore::CSSParser::parseColor):
7024        * editing/ApplyStyleCommand.cpp:
7025        (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
7026        * html/canvas/CanvasRenderingContext2D.cpp:
7027        (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
7028
70292010-05-14  Jens Alfke  <snej@chromium.org>
7030
7031        Reviewed by John Sullivan.
7032
7033        Don't clear yellow autofill highlight from text fields until the user edits them.
7034        https://bugs.webkit.org/show_bug.cgi?id=39032
7035        No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
7036
7037        * html/HTMLInputElement.cpp:
7038        (WebCore::HTMLInputElement::handleFocusEvent):  Don't clear the autofilled flag.
7039        (WebCore::HTMLInputElement::setValueFromRenderer):  Clear the autofilled flag.
7040
70412010-05-14  Zhenyao Mo  <zmo@google.com>
7042
7043        Reviewed by Dimitri Glazkov.
7044
7045        Must implement OpenGL ES 2.0 semantics for NPOT textures
7046        https://bugs.webkit.org/show_bug.cgi?id=33805
7047
7048        Test: fast/canvas/webgl/texture-npot.html
7049
7050        * html/canvas/WebGLRenderingContext.cpp:
7051        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
7052        (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
7053        (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
7054        (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
7055        (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
7056        (WebCore::WebGLRenderingContext::generateMipmap): Error check.
7057        (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
7058        (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
7059        (WebCore::WebGLRenderingContext::texParameteri): Ditto.
7060        (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
7061        * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
7062        * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
7063        (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
7064        (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
7065        (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
7066        (WebCore::WebGLTexture::setParameteri): Set parameter.
7067        (WebCore::WebGLTexture::setParameterf): Ditto.
7068        (WebCore::WebGLTexture::setSize): Set level 0 texture size.
7069        (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
7070        (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
7071        * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
7072        (WebCore::WebGLTexture::isNPOT):
7073        (WebCore::WebGLTexture::needToUseBlackTexture):
7074
70752010-05-14  Andrey Kosyakov  <caseq@chromium.org>
7076
7077        Reviewed by Pavel Feldman.
7078
7079        Web Inspector: add help on keyboard shortcuts (take 2).
7080
7081        https://bugs.webkit.org/show_bug.cgi?id=38667
7082
7083        * English.lproj/localizedStrings.js:
7084        * WebCore.gypi:
7085        * WebCore.vcproj/WebCore.vcproj:
7086        * inspector/front-end/CallStackSidebarPane.js:
7087        (WebInspector.CallStackSidebarPane):
7088        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7089        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
7090        * inspector/front-end/ConsoleView.js:
7091        (WebInspector.ConsoleView):
7092        (WebInspector.ConsoleView.prototype._registerShortcuts):
7093        * inspector/front-end/ElementsPanel.js:
7094        (WebInspector.ElementsPanel):
7095        (WebInspector.ElementsPanel.prototype._registerShortcuts):
7096        * inspector/front-end/ElementsTreeOutline.js:
7097        (WebInspector.ElementsTreeOutline.prototype._keyDown):
7098        * inspector/front-end/HelpScreen.js: Added.
7099        * inspector/front-end/KeyboardShortcut.js:
7100        * inspector/front-end/ScriptsPanel.js:
7101        (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7102        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
7103        * inspector/front-end/ShortcutsHelp.js: Added.
7104        * inspector/front-end/SidebarPane.js:
7105        (WebInspector.SidebarPane.prototype._onTitleKeyDown):
7106        * inspector/front-end/StylesSidebarPane.js:
7107        (WebInspector.StylesSidebarPane.prototype.removeSection):
7108        (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
7109        * inspector/front-end/TextViewer.js:
7110        (WebInspector.TextViewer.prototype._handleKeyDown):
7111        * inspector/front-end/WebKit.qrc:
7112        * inspector/front-end/helpScreen.css: Added.
7113
71142010-05-14  Tony Gentilcore  <tonyg@chromium.org>
7115
7116        Reviewed by Darin Fisher.
7117
7118        [chromium] Update chromium port to send/receive cached metadata
7119        https://bugs.webkit.org/show_bug.cgi?id=38665
7120
7121        No new tests because no new functionality.
7122
7123        * platform/chromium/ChromiumBridge.h:
7124        * platform/network/chromium/ResourceResponse.h:
7125        (WebCore::ResourceResponse::ResourceResponse):
7126        (WebCore::ResourceResponse::responseTime):
7127        (WebCore::ResourceResponse::setResponseTime):
7128
71292010-05-14  Chris Evans  <cevans@chromium.org>
7130
7131        Reviewed by Adam Barth.
7132
7133        Chromium-specific fix to prevent zombie infobars.
7134
7135        https://bugs.webkit.org/show_bug.cgi?id=38948
7136
7137        * bindings/v8/ScriptController.cpp
7138        (WebCore::ScriptController::processingUserGesture):
7139          Require a more definite "no" signal.
7140        * loader/RedirectScheduler.cpp:
7141        (WebCore::ScheduledFormSubmission::fire):
7142          Use a very strong yes / no signal; no need for "possible" here.
7143        * dom/UserGestureIndicator.h:
7144        * dom/UserGestureIndicator.cpp:
7145          Adapt to tri-state: definitely yes; definitely no; not sure.
7146
71472010-05-14  Aaron Kennedy  <tffeeb@gmail.com>
7148
7149        Reviewed by Simon Hausmann.
7150
7151        [Qt] JavaScript unable to invoke methods declared in QML
7152        https://bugs.webkit.org/show_bug.cgi?id=38949
7153
7154        JavaScript code executed by webkit cannot call into QML declared
7155        methods, as it does not check for dynamic meta objects.
7156
7157        * bridge/qt/qt_instance.cpp:
7158        (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
7159        * bridge/qt/qt_runtime.cpp:
7160        (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
7161
71622010-05-14  Ben Murdoch  <benm@google.com>
7163
7164        Reviewed by Darin Fisher.
7165
7166        Touch events are disabled by default when using V8.
7167        https://bugs.webkit.org/show_bug.cgi?id=38990
7168
7169        Touch events are protected by a compile time guard, so it's safe to
7170        assume that the runtime flag  should be enabled by default when this
7171        guard is present.
7172
7173        No new tests, build fix for Android.
7174
7175        * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
7176
71772010-05-14  George Wright  <gwright@rim.com>
7178
7179        Reviewed by George Staikos.
7180
7181        https://bugs.webkit.org/show_bug.cgi?id=38909
7182
7183        Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
7184        on the property name.
7185
7186        * bindings/js/JSDataGridColumnListCustom.cpp:
7187        (WebCore::JSDataGridColumnList::canGetItemsForName):
7188        (WebCore::JSDataGridColumnList::nameGetter):
7189
71902010-05-14  Andreas Kling  <andreas.kling@nokia.com>
7191
7192        Reviewed by Darin Adler.
7193
7194        Ignore invalid values for various CanvasRenderingContext2D properties
7195        (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
7196
7197        https://bugs.webkit.org/show_bug.cgi?id=38841
7198
7199        Test: fast/canvas/canvas-invalid-values.html
7200
7201        * html/canvas/CanvasRenderingContext2D.cpp:
7202        (WebCore::CanvasRenderingContext2D::setLineWidth):
7203        (WebCore::CanvasRenderingContext2D::setMiterLimit):
7204        (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
7205        (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
7206        (WebCore::CanvasRenderingContext2D::setShadowBlur):
7207
72082010-05-13  Timothy Hatcher  <timothy@apple.com>
7209
7210        Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
7211
7212        Reviewed by Sam Weinig.
7213
7214        * WebCore.base.exp: Expose reportException and toJSDOMWindow.
7215
72162010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
7217
7218        Reviewed by Timothy Hatcher.
7219
7220        Web Inspector: Clearing Breakpoints Too Often
7221        https://bugs.webkit.org/show_bug.cgi?id=39094
7222
7223        Minor resets should preserve both workers and breakpoints.
7224
7225        * inspector/front-end/ScriptsPanel.js:
7226        (WebInspector.ScriptsPanel.prototype.reset):
7227
72282010-05-13  Simon Fraser  <simon.fraser@apple.com>
7229
7230        Reviewed by Dan Bernstein.
7231
7232        iframes in compositing layers don't redraw correctly on scrolling
7233        https://bugs.webkit.org/show_bug.cgi?id=39096
7234        
7235        When an iframe ends up in a compositing layer (that is painting to its backing store), we need
7236        to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
7237        for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
7238
7239        Test: compositing/iframes/iframe-copy-on-scroll.html
7240
7241        * rendering/RenderView.cpp:
7242        (WebCore::RenderView::paintBoxDecorations):
7243
72442010-05-13  Simon Fraser  <simon.fraser@apple.com>
7245
7246        Reviewed by Dave Hyatt.
7247
7248        Fix scrolling in composited iframes
7249        https://bugs.webkit.org/show_bug.cgi?id=39088
7250        <rdar://problem/7980099>
7251        
7252        When propagating compositing out of iframes, we have to update the position of the iframe content
7253        layers on scrolling.
7254
7255        Test: compositing/iframes/scrolling-iframe.html
7256
7257        * page/FrameView.cpp:
7258        (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
7259
7260        * rendering/RenderLayerBacking.cpp:
7261        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
7262
7263        * rendering/RenderLayerCompositor.h:
7264        * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
7265        (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
7266            Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
7267            Update the scroll layer position too.
7268        (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
7269            when the ScrollView is scrolled.
7270        (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
7271        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
7272            the same time as the clip layer, and clean it up as necessary.
7273        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
7274        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
7275
72762010-05-13  Sam Weinig  <sam@webkit.org>
7277
7278        Reviewed by Anders Carlsson.
7279
7280        Follow up to:
7281        Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
7282        Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
7283        Part of <rdar://problem/7921275>
7284
7285        Fix failing tests on Leopard.
7286
7287        Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
7288
7289        * css/CSSPrimitiveValue.cpp:
7290        (WebCore::CSSPrimitiveValue::init):
7291        (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
7292
72932010-05-13  Kent Tamura  <tkent@chromium.org>
7294
7295        Reviewed by Darin Adler.
7296
7297        Can't submit a form with <input type=checkbox required>
7298        https://bugs.webkit.org/show_bug.cgi?id=39065
7299
7300        Test: fast/forms/interactive-validation-required-checkbox.html
7301
7302        * html/HTMLInputElement.cpp:
7303        (WebCore::HTMLInputElement::setChecked):
7304          Update the validity cache when a checkbox state is changed.
7305
73062010-05-13  Kenneth Russell  <kbr@google.com>
7307
7308        Reviewed by Dimitri Glazkov.
7309
7310        Alias WebGLArray type names to TypedArray type names
7311        https://bugs.webkit.org/show_bug.cgi?id=39036
7312
7313        Exposed the existing WebGL<T>Array constructor functions on the
7314        DOMWindow under the naming convention in the TypedArray spec. The
7315        implementations will be renamed in a subsequent bug, and the
7316        aliases to the WebGL<T>Array type names eventually removed. Ran
7317        all layout tests (including WebGL) in Safari, and WebGL tests in
7318        Chromium.
7319
7320        Test: revised array-unit-tests.html to test both type names.
7321        Revised global prototype and constructor tests to ignore new types.
7322
7323        * bindings/generic/RuntimeEnabledFeatures.h:
7324        (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
7325        (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
7326        (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
7327        (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
7328        (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
7329        (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
7330        (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
7331        (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
7332        * bindings/js/JSDOMWindowCustom.cpp:
7333        (WebCore::JSDOMWindow::arrayBuffer):
7334        (WebCore::JSDOMWindow::int8Array):
7335        (WebCore::JSDOMWindow::uint8Array):
7336        (WebCore::JSDOMWindow::int32Array):
7337        (WebCore::JSDOMWindow::uint32Array):
7338        (WebCore::JSDOMWindow::int16Array):
7339        (WebCore::JSDOMWindow::uint16Array):
7340        (WebCore::JSDOMWindow::floatArray):
7341        * bindings/v8/custom/V8DOMWindowCustom.cpp:
7342        (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
7343        (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
7344        (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
7345        (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
7346        (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
7347        (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
7348        (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
7349        (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
7350        * page/DOMWindow.idl:
7351
73522010-05-13  David Hyatt  <hyatt@apple.com>
7353
7354        Reviewed by Anders Carlsson.
7355
7356        https://bugs.webkit.org/show_bug.cgi?id=39084
7357
7358        Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
7359        simplifications.
7360
7361        (1) Tie the caching of link state on CSSStyleSelector to the element.  Just clear out the element when
7362        style resolution finishes for the unvisited case to avoid caching across external calls.  The internal
7363        calls share the cache just fine by doing this.
7364
7365        (2) Delete the RenderStyle if the link is unvisited.  This shouldn't take long enough to make us vulnerable
7366        to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
7367
7368        (3) Limit the set of properties that can be applied to :visited links to only the colors it supports.  This
7369        stops images from being loadable from :visited rules.
7370
7371        * css/CSSStyleSelector.cpp:
7372        (WebCore::CSSStyleSelector::init):
7373        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
7374        (WebCore::CSSStyleSelector::initElement):
7375        (WebCore::CSSStyleSelector::canShareStyleWithElement):
7376        (WebCore::CSSStyleSelector::styleForElement):
7377        (WebCore::CSSStyleSelector::pseudoStyleForElement):
7378        (WebCore::isValidVisitedLinkProperty):
7379        (WebCore::CSSStyleSelector::applyProperty):
7380        * css/CSSStyleSelector.h:
7381        * rendering/style/RenderStyle.cpp:
7382        (WebCore::colorIncludingFallback):
7383
73842010-05-13  Sam Weinig  <sam@webkit.org>
7385
7386        Reviewed by Darin Adler.
7387
7388        Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
7389        Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
7390        Part of <rdar://problem/7921275>
7391
7392        - Use an external cache to speedup cssText for CSSPrimitiveValue instead
7393          of an extra member variable.
7394
7395        * css/CSSPrimitiveValue.cpp:
7396        (WebCore::cssTextCache):
7397        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7398        (WebCore::CSSPrimitiveValue::cleanup):
7399        (WebCore::CSSPrimitiveValue::cssText):
7400        * css/CSSPrimitiveValue.h:
7401        (WebCore::CSSPrimitiveValue::):
7402        * css/CSSPrimitiveValueMappings.h:
7403        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7404
74052010-05-13  Enrica Casucci  <enrica@apple.com>
7406
7407        Reviewed by Dave Hyatt.
7408
7409        Adding block elements to a block and removing them changes the height of the element.
7410        https://bugs.webkit.org/show_bug.cgi?id=38874
7411
7412        The initial height of an empty editable block is different from the height of the same block after we add block elements
7413        and remove them.
7414        
7415        Test: editing/deleting/delete-block-contents-004.html
7416
7417        * rendering/RenderBlock.cpp:
7418        (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
7419
74202010-05-13  Brady Eidson  <beidson@apple.com>
7421
7422        Reviewed by Darin Adler.
7423
7424        Repro crash at www.sears.com (infinite recursion in beforeunload handler)
7425        <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
7426
7427        Test: fast/loader/recursive-before-unload-crash.html
7428
7429        * loader/FrameLoader.cpp:
7430        (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
7431        * loader/FrameLoader.h:
7432
7433        * page/Frame.cpp:
7434        (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
7435        * page/Frame.h:
7436        (WebCore::Frame::existingDOMWindow):
7437
74382010-05-13  Sheriff Bot  <webkit.review.bot@gmail.com>
7439
7440        Unreviewed, rolling out r59376.
7441        http://trac.webkit.org/changeset/59376
7442        https://bugs.webkit.org/show_bug.cgi?id=39080
7443
7444        Broke window prototype tests (Requested by jamesr on #webkit).
7445
7446        * bindings/generic/RuntimeEnabledFeatures.h:
7447        * bindings/js/JSDOMWindowCustom.cpp:
7448        (WebCore::JSDOMWindow::webGLFloatArray):
7449        * bindings/v8/custom/V8DOMWindowCustom.cpp:
7450        * page/DOMWindow.idl:
7451
74522010-05-13  Pavel Feldman  <pfeldman@chromium.org>
7453
7454        Reviewed by Yury Semikhatsky.
7455
7456        Web Inspector: A disabled style property cannot be deleted.
7457
7458        https://bugs.webkit.org/show_bug.cgi?id=39057
7459
7460        * inspector/InspectorDOMAgent.cpp:
7461        (WebCore::InspectorDOMAgent::applyStyleText):
7462
74632010-05-12  Kenneth Russell  <kbr@google.com>
7464
7465        Reviewed by Dimitri Glazkov.
7466
7467        Alias WebGLArray type names to TypedArray type names
7468        https://bugs.webkit.org/show_bug.cgi?id=39036
7469
7470        Exposed the existing WebGL<T>Array constructor functions on the
7471        DOMWindow under the naming convention in the TypedArray spec. The
7472        implementations will be renamed in a subsequent bug, and the
7473        aliases to the WebGL<T>Array type names eventually removed. Ran
7474        all WebGL layout tests in Safari and Chromium.
7475
7476        Test: revised array-unit-tests.html to test both type names.
7477
7478        * bindings/generic/RuntimeEnabledFeatures.h:
7479        (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
7480        (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
7481        (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
7482        (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
7483        (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
7484        (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
7485        (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
7486        (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
7487        * bindings/js/JSDOMWindowCustom.cpp:
7488        (WebCore::JSDOMWindow::arrayBuffer):
7489        (WebCore::JSDOMWindow::int8Array):
7490        (WebCore::JSDOMWindow::uint8Array):
7491        (WebCore::JSDOMWindow::int32Array):
7492        (WebCore::JSDOMWindow::uint32Array):
7493        (WebCore::JSDOMWindow::int16Array):
7494        (WebCore::JSDOMWindow::uint16Array):
7495        (WebCore::JSDOMWindow::floatArray):
7496        * bindings/v8/custom/V8DOMWindowCustom.cpp:
7497        (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
7498        (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
7499        (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
7500        (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
7501        (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
7502        (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
7503        (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
7504        (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
7505        * page/DOMWindow.idl:
7506
75072010-05-13  Brady Eidson  <beidson@apple.com>
7508
7509        Reviewed by John Sullivan.
7510
7511        Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
7512
7513        No new tests. (No change in behavior)
7514
7515        m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
7516        In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
7517        the flag!
7518
7519        * loader/FrameLoader.cpp:
7520        (WebCore::FrameLoader::FrameLoader):
7521        (WebCore::FrameLoader::stopLoading):
7522        (WebCore::FrameLoader::loadURL):
7523        (WebCore::FrameLoader::loadWithDocumentLoader):
7524        (WebCore::FrameLoader::stopAllLoaders):
7525        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
7526        (WebCore::FrameLoader::pageHidden):
7527        * loader/FrameLoader.h:
7528
75292010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
7530
7531        Reviewed by Pavel Feldman.
7532
7533        Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
7534        https://bugs.webkit.org/show_bug.cgi?id=39074
7535
7536        Added Show / Hide event dividers functionality to the timeline grid,
7537        and included delegation functions in AbstractTimelinePanel.
7538
7539        * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
7540        (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
7541        (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
7542        * inspector/front-end/ResourcesPanel.js:
7543        (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
7544        (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
7545        * inspector/front-end/TimelineGrid.js:
7546        (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
7547        (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
7548
75492010-05-13  Chang Shu  <chang.shu@nokia.com>
7550
7551        Reviewed by Kenneth Rohde Christiansen.
7552
7553        Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
7554        must initially have the string value #000000.
7555        The link to the spec:
7556        http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
7557
7558        https://bugs.webkit.org/show_bug.cgi?id=39068
7559
7560        The complete test suite is in the process of checking in.
7561        https://bugs.webkit.org/show_bug.cgi?id=20553
7562
7563        * html/canvas/CanvasRenderingContext2D.cpp:
7564        (WebCore::CanvasRenderingContext2D::State::State):
7565
75662010-05-13  Yury Semikhatsky  <yurys@chromium.org>
7567
7568        Unreviewed, rolling out r59360.
7569        http://trac.webkit.org/changeset/59360
7570        https://bugs.webkit.org/show_bug.cgi?id=38667
7571
7572        It broke Chromium Win build
7573
7574        * English.lproj/localizedStrings.js:
7575        * WebCore.gypi:
7576        * WebCore.vcproj/WebCore.vcproj:
7577        * inspector/front-end/CallStackSidebarPane.js:
7578        (WebInspector.CallStackSidebarPane):
7579        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7580        * inspector/front-end/ConsoleView.js:
7581        (WebInspector.ConsoleView):
7582        * inspector/front-end/ElementsPanel.js:
7583        (WebInspector.ElementsPanel):
7584        * inspector/front-end/ElementsTreeOutline.js:
7585        (WebInspector.ElementsTreeOutline.prototype._keyDown):
7586        * inspector/front-end/HelpScreen.js: Removed.
7587        * inspector/front-end/KeyboardShortcut.js:
7588        (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
7589        * inspector/front-end/ScriptsPanel.js:
7590        (WebInspector.ScriptsPanel):
7591        (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7592        * inspector/front-end/ShortcutsHelp.js: Removed.
7593        * inspector/front-end/SidebarPane.js:
7594        (WebInspector.SidebarPane.prototype._onTitleKeyDown):
7595        * inspector/front-end/StylesSidebarPane.js:
7596        (WebInspector.StylesSidebarPane.prototype.removeSection):
7597        * inspector/front-end/TextViewer.js:
7598        (WebInspector.TextViewer.prototype._handleKeyDown):
7599        * inspector/front-end/WebKit.qrc:
7600        * inspector/front-end/helpScreen.css: Removed.
7601        * inspector/front-end/inspector.html:
7602        * inspector/front-end/inspector.js:
7603        (WebInspector.loaded):
7604        (WebInspector.documentKeyDown):
7605        (WebInspector._searchKeyDown):
7606        (WebInspector.startEditing.keyDownEventListener):
7607        (WebInspector.startEditing):
7608        * inspector/front-end/utilities.js:
7609
76102010-05-13  Antti Koivisto  <koivisto@iki.fi>
7611
7612        Reviewed by Kenneth Rohde Christiansen.
7613
7614        https://bugs.webkit.org/show_bug.cgi?id=39063
7615        [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
7616
7617        Use the dirty rect that has been adjusted for scaling instead of the original one.
7618
7619        * platform/graphics/TiledBackingStore.cpp:
7620        (WebCore::TiledBackingStore::paint):
7621
76222010-05-13  Chang Shu  <chang.shu@nokia.com>
7623
7624        Reviewed by Kenneth Rohde Christiansen.
7625
7626        Based on Philip Taylor's test suite, resetting the canvas
7627        state resets the current path.
7628        https://bugs.webkit.org/show_bug.cgi?id=38934
7629
7630        The complete test suite is in the process of checking in.
7631        https://bugs.webkit.org/show_bug.cgi?id=20553
7632
7633        * html/canvas/CanvasRenderingContext2D.cpp:
7634        (WebCore::CanvasRenderingContext2D::reset):
7635
76362010-05-13  Andrey Kosyakov  <caseq@chromium.org>
7637
7638        Reviewed by Pavel Feldman.
7639
7640        Added help screen with keyboard shortcuts.
7641        https://bugs.webkit.org/show_bug.cgi?id=38667
7642
7643        * English.lproj/localizedStrings.js:
7644        * WebCore.gypi:
7645        * WebCore.vcproj/WebCore.vcproj:
7646        * inspector/front-end/CallStackSidebarPane.js:
7647        (WebInspector.CallStackSidebarPane):
7648        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
7649        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
7650        * inspector/front-end/ConsoleView.js:
7651        (WebInspector.ConsoleView):
7652        (WebInspector.ConsoleView.prototype._registerShortcuts):
7653        * inspector/front-end/ElementsPanel.js:
7654        (WebInspector.ElementsPanel):
7655        (WebInspector.ElementsPanel.prototype._registerShortcuts):
7656        * inspector/front-end/HelpScreen.js: Added.
7657        * inspector/front-end/KeyboardShortcut.js:
7658        (WebInspector.KeyboardShortcut.makeDescriptor):
7659        (WebInspector.KeyboardShortcut.shortcutToString):
7660        (WebInspector.KeyboardShortcut._modifiersToString):
7661        * inspector/front-end/ScriptsPanel.js:
7662        (WebInspector.ScriptsPanel):
7663        (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
7664        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
7665        * inspector/front-end/ShortcutsHelp.js: Added.
7666        * inspector/front-end/StylesSidebarPane.js:
7667        (WebInspector.StylesSidebarPane.prototype.removeSection):
7668        (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
7669        * inspector/front-end/WebKit.qrc:
7670        * inspector/front-end/helpScreen.css: Added.
7671
76722010-05-13  Yoshiki Hayashi  <yhayashi@google.com>
7673
7674        Reviewed by Darin Adler.
7675
7676        Fix a bug in handleRunInChild where only the first child run-in block
7677        is inserted because removeChildNode clears next sibling.
7678        https://bugs.webkit.org/show_bug.cgi?id=25047
7679
7680        Test: fast/css/run-in-children.html
7681
7682        * rendering/RenderBlock.cpp:
7683        (WebCore::RenderBlock::handleRunInChild):
7684
76852010-05-13  Alejandro G. Castro  <alex@igalia.com>
7686
7687        Reviewed by Xan Lopez.
7688
7689        In case there is no expose event we render the theme in a pixmap
7690        and copy it to the cairo context. This is slow but it is used just
7691        in case we are printing nowadays.
7692
7693        [GTK] Theme does not render when printing
7694        https://bugs.webkit.org/show_bug.cgi?id=38896
7695
7696        * platform/gtk/RenderThemeGtk.cpp:
7697        (WebCore::paintMozillaGtkWidget):
7698
76992010-05-12  Yuzo Fujishima  <yuzo@google.com>
7700
7701        Reviewed by Darin Adler.
7702
7703        Fix Bug 35014 - Modifying UA rules from page JS crashes
7704        Added a NULL check.
7705        https://bugs.webkit.org/show_bug.cgi?id=35014
7706
7707        Test: fast/css/modify-ua-rules-from-javascript.html
7708
7709        * css/CSSMutableStyleDeclaration.cpp:
7710        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
7711
77122010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
7713
7714        Reviewed by Adam Barth.
7715
7716        Add the parent class for Database and DatabaseSync.
7717        https://bugs.webkit.org/show_bug.cgi?id=39041
7718
7719        * GNUmakefile.am:
7720        * WebCore.gypi:
7721        * WebCore.pro:
7722        * WebCore.vcproj/WebCore.vcproj:
7723        * WebCore.xcodeproj/project.pbxproj:
7724        * storage/AbstractDatabase.cpp: Added.
7725        * storage/AbstractDatabase.h: Added.
7726
77272010-05-12  Noam Rosenthal  <noam.rosenthal@nokia.com>
7728
7729        Reviewed by Kenneth Rohde Christiansen.
7730
7731        [Qt] GraphicsLayer: depth-test causes flicker in certain situations
7732
7733        This patch removes the simplistic 2D depth test as it leads to flickering side effects.
7734        https://bugs.webkit.org/show_bug.cgi?id=38370
7735
7736        Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
7737
7738        * platform/graphics/qt/GraphicsLayerQt.cpp:
7739        (WebCore::GraphicsLayerQtImpl::updateTransform):
7740
77412010-05-12  Simon Fraser  <simon.fraser@apple.com>
7742
7743        Reviewed by Mark Rowe.
7744
7745        Fix layer dump to avoid spurious platform differences
7746        https://bugs.webkit.org/show_bug.cgi?id=39045
7747        
7748        Only dump the children transform on layers that are not the root layer.
7749        The children transform on the root layer is used on Leopard to implement
7750        geometry flipping, so avoid this supurious difference in test output.
7751
7752        * platform/graphics/GraphicsLayer.cpp:
7753        (WebCore::GraphicsLayer::dumpProperties):
7754
77552010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>
7756
7757        Unreviewed, rolling out r59270.
7758        http://trac.webkit.org/changeset/59270
7759        https://bugs.webkit.org/show_bug.cgi?id=39044
7760
7761        Caused a crash on some pages - bug 39042 (Requested by smfr on
7762        #webkit).
7763
7764        * rendering/RenderBlock.cpp:
7765        (WebCore::RenderBlock::removeChild):
7766
77672010-05-12  Simon Fraser  <simon.fraser@apple.com>
7768
7769        Reviewed by David Hyatt.
7770
7771        Composited plug-ins can cause missed painting
7772        https://bugs.webkit.org/show_bug.cgi?id=39033
7773        <rdar://problem/7972478>
7774
7775        Fixed missed painting (and assertions in debug builds) related to compositing
7776        propagating out of iframes that contain plug-ins.
7777        
7778        When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
7779        setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
7780        whether the iframe itself should be composited. However, for iframes containing plug-ins,
7781        this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
7782        plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a 
7783        setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
7784        does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
7785        and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
7786        FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
7787        
7788        The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
7789        the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
7790        the plug-in needs it.
7791        
7792        A secondary fix is to ensure that if a document has composited iframes, when that document becomes
7793        composited, we connect compositing layers between the iframes and the parent document.
7794
7795        Tests: compositing/iframes/connect-compositing-iframe-delayed.html
7796               compositing/iframes/iframe-src-change.html
7797
7798        * WebCore.base.exp: Export FrameView::enterCompositingMode()
7799
7800        * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
7801        * page/FrameView.cpp:
7802        (WebCore::FrameView::enterCompositingMode):
7803
7804        * rendering/RenderLayerCompositor.h:
7805        * rendering/RenderLayerCompositor.cpp:
7806        (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
7807            force a style recaclc on any iframes to get them into compositing layers, so they can hook up
7808            with their content layers if necessary.
7809        (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
7810        (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
7811        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
7812        (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a 
7813            synthetic style recalc on them.
7814
78152010-05-12  Anders Carlsson  <andersca@apple.com>
7816
7817        Reviewed by Simon Fraser.
7818
7819        Shrink the size of FillLayer by moving a member variable.
7820        https://bugs.webkit.org/show_bug.cgi?id=39035
7821
7822        * rendering/style/FillLayer.cpp:
7823        (WebCore::FillLayer::FillLayer):
7824        * rendering/style/FillLayer.h:
7825
78262010-05-12  Sam Weinig  <sam@webkit.org>
7827
7828        Reviewed by Anders Carlsson.
7829
7830        A bunch of nice micro-optimizations for ~1% speedup on PLT.
7831        - Add fastGetAttribute. The same as getAttribute except can only be
7832          called when it is known not to be style attribute or one of the SVG
7833          animatable attributes.
7834        - Inline some functions from Font.
7835        - Return the same string from deprecatedParseURL if there is nothing
7836          to strip.
7837        - Use a member variable instead of a virtual function to determine 
7838          whether a ScheduledNavigation is a location change.
7839
7840        * WebCore.base.exp:
7841        * css/CSSHelper.cpp:
7842        (WebCore::deprecatedParseURL):
7843        * css/CSSStyleSelector.cpp:
7844        (WebCore::linkAttribute):
7845        (WebCore::CSSStyleSelector::canShareStyleWithElement):
7846        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
7847        * dom/Element.cpp:
7848        (WebCore::Element::getAttribute):
7849        * dom/Element.h:
7850        (WebCore::Element::fastHasAttribute):
7851        (WebCore::Element::fastGetAttribute):
7852        * html/HTMLFormControlElement.cpp:
7853        (WebCore::HTMLFormControlElement::formControlName):
7854        * html/HTMLInputElement.cpp:
7855        (WebCore::HTMLInputElement::value):
7856        * loader/RedirectScheduler.cpp:
7857        (WebCore::ScheduledNavigation::ScheduledNavigation):
7858        (WebCore::ScheduledNavigation::isLocationChange):
7859        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
7860        (WebCore::ScheduledRedirect::ScheduledRedirect):
7861        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
7862        (WebCore::ScheduledRefresh::ScheduledRefresh):
7863        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
7864        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
7865        (WebCore::RedirectScheduler::locationChangePending):
7866        * platform/graphics/Font.cpp:
7867        * platform/graphics/Font.h:
7868        (WebCore::Font::~Font):
7869        (WebCore::Font::primaryFont):
7870        (WebCore::Font::fontDataAt):
7871        (WebCore::Font::fontDataForCharacters):
7872        (WebCore::Font::isFixedPitch):
7873        (WebCore::Font::fontSelector):
7874        * platform/graphics/FontFallbackList.h:
7875        * rendering/RenderImage.cpp:
7876        (WebCore::RenderImage::imageMap):
7877
78782010-05-12  David Hyatt  <hyatt@apple.com>
7879
7880        Reviewed by Sam Weinig.
7881
7882        Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
7883
7884        * WebCore.xcodeproj/project.pbxproj:
7885        * editing/visible_units.cpp:
7886        (WebCore::previousLinePosition):
7887        (WebCore::nextLinePosition):
7888        * rendering/EllipsisBox.cpp:
7889        (WebCore::EllipsisBox::paint):
7890        (WebCore::EllipsisBox::selectionRect):
7891        (WebCore::EllipsisBox::paintSelection):
7892        (WebCore::EllipsisBox::nodeAtPoint):
7893        * rendering/EllipsisBox.h:
7894        (WebCore::EllipsisBox::EllipsisBox):
7895        * rendering/InlineBox.cpp:
7896        (WebCore::InlineBox::adjustPosition):
7897        (WebCore::InlineBox::canAccommodateEllipsis):
7898        * rendering/InlineBox.h:
7899        (WebCore::InlineBox::InlineBox):
7900        (WebCore::InlineBox::isSVGRootInlineBox):
7901        (WebCore::InlineBox::x):
7902        (WebCore::InlineBox::y):
7903        (WebCore::InlineBox::width):
7904        (WebCore::InlineBox::height):
7905        (WebCore::InlineBox::bottom):
7906        (WebCore::InlineBox::right):
7907        (WebCore::InlineBox::setX):
7908        (WebCore::InlineBox::setY):
7909        (WebCore::InlineBox::setWidth):
7910        (WebCore::InlineBox::setHeight):
7911        (WebCore::InlineBox::location):
7912        (WebCore::InlineBox::size):
7913        (WebCore::InlineBox::setLocation):
7914        (WebCore::InlineBox::setSize):
7915        (WebCore::InlineBox::move):
7916        (WebCore::InlineBox::frameRect):
7917        (WebCore::InlineBox::setFrameRect):
7918        (WebCore::InlineBox::baselinePosition):
7919        (WebCore::InlineBox::lineHeight):
7920        * rendering/InlineFlowBox.cpp:
7921        (WebCore::InlineFlowBox::placeBoxesVertically):
7922        (WebCore::InlineFlowBox::computeVerticalOverflow):
7923        (WebCore::InlineFlowBox::nodeAtPoint):
7924        (WebCore::InlineFlowBox::paintBoxDecorations):
7925        (WebCore::InlineFlowBox::paintMask):
7926        (WebCore::InlineFlowBox::paintTextDecorations):
7927        * rendering/InlineFlowBox.h:
7928        (WebCore::InlineFlowBox::visibleOverflowRect):
7929        (WebCore::InlineFlowBox::topLayoutOverflow):
7930        (WebCore::InlineFlowBox::bottomLayoutOverflow):
7931        (WebCore::InlineFlowBox::leftLayoutOverflow):
7932        (WebCore::InlineFlowBox::rightLayoutOverflow):
7933        (WebCore::InlineFlowBox::layoutOverflowRect):
7934        (WebCore::InlineFlowBox::topVisualOverflow):
7935        (WebCore::InlineFlowBox::bottomVisualOverflow):
7936        (WebCore::InlineFlowBox::leftVisualOverflow):
7937        (WebCore::InlineFlowBox::rightVisualOverflow):
7938        (WebCore::InlineFlowBox::visualOverflowRect):
7939        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
7940        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
7941        * rendering/InlineTextBox.cpp:
7942        (WebCore::InlineTextBox::selectionRect):
7943        (WebCore::InlineTextBox::placeEllipsisBox):
7944        (WebCore::InlineTextBox::nodeAtPoint):
7945        (WebCore::InlineTextBox::paint):
7946        (WebCore::InlineTextBox::paintSelection):
7947        (WebCore::InlineTextBox::paintCompositionBackground):
7948        (WebCore::InlineTextBox::paintDecoration):
7949        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
7950        (WebCore::InlineTextBox::paintTextMatchMarker):
7951        (WebCore::InlineTextBox::computeRectForReplacementMarker):
7952        (WebCore::InlineTextBox::paintCompositionUnderline):
7953        (WebCore::InlineTextBox::offsetForPosition):
7954        (WebCore::InlineTextBox::positionForOffset):
7955        * rendering/InlineTextBox.h:
7956        (WebCore::InlineTextBox::setSpaceAdd):
7957        * rendering/RenderBlock.cpp:
7958        (WebCore::RenderBlock::positionForPointWithInlineChildren):
7959        * rendering/RenderBlockLineLayout.cpp:
7960        (WebCore::RenderBlock::computeVerticalPositionsForLine):
7961        (WebCore::RenderBlock::layoutInlineChildren):
7962        * rendering/RenderSVGInline.cpp:
7963        (WebCore::RenderSVGInline::createInlineFlowBox):
7964        * rendering/RenderSVGInlineText.cpp:
7965        (WebCore::RenderSVGInlineText::createTextBox):
7966        * rendering/RenderSVGText.cpp:
7967        (WebCore::RenderSVGText::createRootInlineBox):
7968        * rendering/RenderText.cpp:
7969        (WebCore::RenderText::positionForPoint):
7970        (WebCore::RenderText::firstRunX):
7971        (WebCore::RenderText::firstRunY):
7972        * rendering/RenderTreeAsText.cpp:
7973        (WebCore::writeTextRun):
7974        * rendering/RootInlineBox.cpp:
7975        (WebCore::RootInlineBox::placeEllipsis):
7976        (WebCore::RootInlineBox::addHighlightOverflow):
7977        (WebCore::RootInlineBox::closestLeafChildForXPos):
7978        * rendering/SVGInlineFlowBox.h:
7979        (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
7980        * rendering/SVGInlineTextBox.h:
7981        (WebCore::SVGInlineTextBox::selectionTop):
7982        (WebCore::SVGInlineTextBox::selectionHeight):
7983        * rendering/SVGRootInlineBox.h:
7984        (WebCore::SVGRootInlineBox::SVGRootInlineBox):
7985        (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
7986        * rendering/TrailingFloatsRootInlineBox.h: Removed.
7987
79882010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
7989
7990        Reviewed by Dimitri Glazkov.
7991
7992        Removing the unnecessary dirfd parameter.
7993        https://bugs.webkit.org/show_bug.cgi?id=38869
7994
7995        * platform/chromium/ChromiumBridge.h:
7996        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
7997
79982010-05-12  Enrica Casucci  <enrica@apple.com>
7999
8000        Reviewed by Dave Hyatt.
8001
8002        Adding block elements to a block and removing them changes the height of the element.
8003        https://bugs.webkit.org/show_bug.cgi?id=38874
8004
8005        The initial height of an empty editable block is different from the height of the same block after we add block elements
8006        and remove them.
8007        
8008        Test: editing/deleting/delete-block-contents-004.html
8009
8010        * rendering/RenderBlock.cpp:
8011        (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
8012        and never reset to true when all the block elements contained are removed.
8013
80142010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
8015
8016        Reviewed by Dimitri Glazkov.
8017
8018        Do not check if a database needs to be vacuumed after a read-only transaction.
8019        https://bugs.webkit.org/show_bug.cgi?id=38972
8020
8021        * storage/SQLTransaction.cpp:
8022        (WebCore::SQLTransaction::postflightAndCommit):
8023
80242010-05-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
8025
8026        Reviewed by Kenneth Rohde Christiansen.
8027
8028        [Qt] Detect debug mode consistently
8029        https://bugs.webkit.org/show_bug.cgi?id=38863
8030
8031        No new tests as there is no new functionality.
8032
8033        * WebCore.pro:
8034
80352010-05-12  James Robinson  <jamesr@chromium.org>
8036
8037        Patch by Dan Bernstein.
8038
8039        Reviewed by David Hyatt.
8040
8041        Fix marking the layout root's parent as needing layout
8042        https://bugs.webkit.org/show_bug.cgi?id=37760
8043
8044        If an element gets marked as needing layout due to the recalcStyle()
8045        call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
8046        be set to false.  It's possible at this point that a parent of the
8047        existing FrameView::m_layoutRoot will be marked as needing layout.
8048
8049        This patch updates FrameView::scheduleRelayoutOfSubtree to account
8050        for this case.
8051
8052        Manual test only due to subtle timing issues.
8053
8054        * manual-tests/layoutroot_detach.xml: Added.
8055        * page/FrameView.cpp:
8056        (WebCore::FrameView::scheduleRelayoutOfSubtree):
8057
80582010-05-12  Eric Seidel  <eric@webkit.org>
8059
8060        Unreviewed, rolling out r59245.
8061        http://trac.webkit.org/changeset/59245
8062        https://bugs.webkit.org/show_bug.cgi?id=38874
8063
8064        Broke at least one test on multiple platforms
8065
8066        * rendering/RenderBlock.cpp:
8067        (WebCore::RenderBlock::removeChild):
8068
80692010-05-12  Alexey Proskuryakov  <ap@apple.com>
8070
8071        Reviewed by Darin Adler.
8072
8073        https://bugs.webkit.org/show_bug.cgi?id=38752
8074        Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
8075
8076        Test: fast/images/extra-image-in-image-document.html
8077
8078        * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
8079        after manually feeding an image - there may be more coming.
8080
80812010-05-12  yael aharon  <yael.aharon@nokia.com>
8082
8083        Reviewed by Dan Bernstein.
8084
8085        HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
8086        https://bugs.webkit.org/show_bug.cgi?id=38991
8087
8088        No new tests since no new functionality was introduced.
8089
8090        * html/HTMLLabelElement.cpp:
8091        (WebCore::HTMLLabelElement::control):
8092        * html/HTMLLabelElement.h:
8093
80942010-05-12  David Hyatt  <hyatt@apple.com>
8095
8096        Reviewed by Darin Adler.
8097
8098        https://bugs.webkit.org/show_bug.cgi?id=38891
8099
8100        First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter.
8101        The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout.  This means it could
8102        return random incorrect results (and cause the first-letter object to not be found).
8103
8104        In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
8105        returned instead.
8106
8107        Finally, the updating code was leaving the box that wrapped the first letter text with a stale style.  The old code happened to work because
8108        it made new styles for the text elements instead of using the enclosing box style.  The regression was caused by my change to make the
8109        text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent).
8110
8111        No new tests, since there's a timing component to reproducing the issue.
8112
8113        * rendering/RenderBlock.cpp:
8114        (WebCore::RenderBlock::updateFirstLetter):
8115
81162010-05-12  Enrica Casucci  <enrica@apple.com>
8117
8118        Reviewed by Dave Hyatt.
8119
8120        Adding block elements to a block and removing them changes the height of the element.
8121        https://bugs.webkit.org/show_bug.cgi?id=38874
8122
8123        The initial height of an empty editable block is different from the height of the same block after we add block elements
8124        and remove them.
8125        
8126        Test: editing/deleting/delete-block-contents-004.html
8127
8128        * rendering/RenderBlock.cpp:
8129        (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
8130        and never reset to true when all the block elements contained are removed.
8131
81322010-05-12  Pavel Feldman  <pfeldman@chromium.org>
8133
8134        Reviewed by Timothy Hatcher.
8135
8136        Web Inspector: disabling style property on container breaks styles inspection for given node.
8137
8138        https://bugs.webkit.org/show_bug.cgi?id=39005
8139
8140        Tests: inspector/styles-disable-inherited.html
8141               inspector/styles-disable-then-enable.html
8142
8143        * inspector/front-end/StylesSidebarPane.js:
8144        (WebInspector.StylesSidebarPane.prototype._containsInherited):
8145        (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
8146
81472010-05-12  Abhishek Arya  <inferno@chromium.org>
8148
8149        Reviewed by Darin Adler.
8150
8151        HTML Entity Escape the contents of a textarea node when accessed
8152        via the innerHTML and outerHTML node properties.
8153        https://bugs.webkit.org/show_bug.cgi?id=38922
8154
8155        Test: fast/innerHTML/innerHTML-special-elements.html
8156
8157        * editing/markup.cpp:
8158        (WebCore::appendStartMarkup):
8159
81602010-05-12  Beth Dakin  <bdakin@apple.com>
8161
8162        Reviewed by Darin Adler.
8163
8164        Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: 
8165        Crash clicking background NPR tab after few minutes of sitting idle
8166        -and corresponding-
8167        <rdar://problem/7941504>
8168
8169        Move m_mediaCanStartListeners HashSet to Document away from Page.
8170        * dom/Document.cpp:
8171        (WebCore::Document::Document):
8172        (WebCore::Document::addMediaCanStartListener):
8173        (WebCore::Document::removeMediaCanStartListener):
8174        (WebCore::Document::takeAnyMediaCanStartListener):
8175        * dom/Document.h:
8176        * page/Page.cpp:
8177        (WebCore::Page::takeAnyMediaCanStartListener):
8178        * page/Page.h:
8179        (WebCore::Page::canStartMedia):
8180
81812010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
8182
8183        Reviewed by Pavel Feldman.
8184
8185        WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
8186        https://bugs.webkit.org/show_bug.cgi?id=38925
8187
8188        * inspector/InspectorTimelineAgent.cpp:
8189        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
8190        * inspector/InspectorTimelineAgent.h:
8191        (WebCore::):
8192        * inspector/TimelineRecordFactory.cpp:
8193        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
8194        * inspector/TimelineRecordFactory.h:
8195        * inspector/front-end/TimelineAgent.js:
8196        * inspector/front-end/TimelinePanel.js:
8197        (WebInspector.TimelinePanel):
8198        (WebInspector.TimelinePanel.prototype.get _recordStyles):
8199        (WebInspector.TimelinePanel.prototype._findParentRecord):
8200        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
8201        (WebInspector.TimelinePanel.prototype._clearPanel):
8202        (WebInspector.TimelinePanel.FormattedRecord):
8203        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
8204        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
8205        * loader/loader.cpp:
8206        (WebCore::Loader::load):
8207
82082010-05-12  Kent Tamura  <tkent@chromium.org>
8209
8210        Reviewed by Darin Adler.
8211
8212        placeholder text should be stripped from line breaks
8213        https://bugs.webkit.org/show_bug.cgi?id=36291
8214
8215        According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder ,
8216        we need to remove CR and LF from the placeholder attribute values.
8217        Introduce HTMLTextFormControlElement::strippedPlaceholder(), which
8218        returns stripped value, and replace getAttribute(placeholderAttr) with it.
8219
8220        Test: fast/forms/placeholder-stripped.html
8221
8222        * html/HTMLFormControlElement.cpp:
8223        (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
8224        (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
8225        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
8226          Use strippedPlaceholder().
8227        * html/HTMLFormControlElement.h:
8228        * platform/text/CharacterNames.h: Add carriageReturn.
8229        * rendering/RenderTextControlMultiLine.cpp:
8230        (WebCore::RenderTextControlMultiLine::updateFromElement):
8231          Use strippedPlaceholder().
8232        * rendering/RenderTextControlSingleLine.cpp:
8233        (WebCore::RenderTextControlSingleLine::updateFromElement):
8234          Use strippedPlaceholder().
8235
82362010-05-10  Rodrigo Belem  <rodrigo.belem@openbossa.org>
8237
8238        Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
8239
8240        [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
8241        https://bugs.webkit.org/show_bug.cgi?id=26224
8242
8243        This patch adds the ability, in the QtWebkit build system, to change
8244        the installation path.
8245
8246        * WebCore.pro:
8247
82482010-05-12  Jer Noble  <jer.noble@apple.com>
8249
8250        Reviewed by Darin Adler.
8251        
8252        Bug 38689: #34005 will break fullscreen video playback
8253        https://bugs.webkit.org/show_bug.cgi?id=38689
8254        
8255        The PlatformMedia struct now contains a type field indicating which type
8256        it contains.  The struct now contains a union of all possible return types,
8257        allowing the type of media returned by MediaPlayerPrivate instances to be
8258        determined at runtime.
8259
8260        * platform/graphics/MediaPlayer.h:
8261        (WebCore::PlatformMedia::):
8262        (WebCore::):
8263        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
8264        (WebCore::MediaPlayerPrivate::platformMedia):
8265        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
8266        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
8267        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
8268        (WebCore::MediaPlayerPrivate::platformMedia):
8269
82702010-05-12  Young Han Lee  <joybro@company100.net>
8271
8272        Reviewed by Darin Adler.
8273
8274        Add missing ENABLE(SVG) guards.
8275        https://bugs.webkit.org/show_bug.cgi?id=38892
8276
8277        * rendering/RenderSVGResourceClipper.cpp:
8278        * rendering/RenderSVGResourceMarker.cpp:
8279        * rendering/RenderSVGResourceMasker.cpp:
8280
82812010-05-12  Pavel Feldman  <pfeldman@chromium.org>
8282
8283        Reviewed by Yury Semikhatsky.
8284
8285        Web Inspector: align sidebar checkboxes on windows.
8286
8287        https://bugs.webkit.org/show_bug.cgi?id=38986
8288
8289        * inspector/front-end/StylesSidebarPane.js:
8290        * inspector/front-end/inspector.css:
8291        (.sidebar-pane-subtitle):
8292        (body.platform-windows .sidebar-pane-subtitle):
8293
82942010-05-10  yael aharon  <yael.aharon@nokia.com>
8295
8296        Reviewed by Darin Adler.
8297
8298        Support control attribute of HTMLLabelElement
8299        https://bugs.webkit.org/show_bug.cgi?id=38688
8300
8301        Added support for the control attribute of HTMLLabelElement and changed the logic of determining
8302        which control is associated with the label to conform to HTML5 spec.
8303        Added a manual test for testing the logic of selecting the control to get focused, activated or hovered
8304        when the label gets focused, activated or is hovered.
8305
8306        Test: fast/dom/HTMLLabelElement/click-label.html
8307        Test: fast/dom/HTMLLabelElement/focus-label.html
8308        Test: fast/dom/HTMLLabelElement/label-control.html
8309
8310        * accessibility/AccessibilityRenderObject.cpp:
8311        (WebCore::labelForElement):
8312        (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
8313        * html/HTMLFormControlElement.cpp:
8314        (WebCore::HTMLFormControlElement::isLabelable):
8315        * html/HTMLFormControlElement.h:
8316        * html/HTMLLabelElement.cpp:
8317        (WebCore::nodeAsLabelableFormControl):
8318        (WebCore::HTMLLabelElement::control):
8319        (WebCore::HTMLLabelElement::setActive):
8320        (WebCore::HTMLLabelElement::setHovered):
8321        (WebCore::HTMLLabelElement::defaultEventHandler):
8322        (WebCore::HTMLLabelElement::focus):
8323        (WebCore::HTMLLabelElement::accessKeyAction):
8324        * html/HTMLLabelElement.h:
8325        * html/HTMLLabelElement.idl:
8326        * manual-tests/dom/form-control-for-label.html: Added.
8327
83282010-05-12  Steve Block  <steveblock@google.com>
8329
8330        Reviewed by David Levin.
8331
8332        Android's writeToFile() is buggy
8333        https://bugs.webkit.org/show_bug.cgi?id=38908
8334
8335        No new tests, build fix only.
8336
8337        * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile().
8338        * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android.
8339        (WebCore::writeToFile):
8340
83412010-05-10  Philippe Normand  <pnormand@igalia.com>
8342
8343        Reviewed by David Levin.
8344
8345        [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
8346        https://bugs.webkit.org/show_bug.cgi?id=38839
8347
8348        Fixed #ifdef/curly braces coherence.
8349
8350        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
8351        (WTF::GstElement):
8352
83532010-05-10  Philippe Normand  <pnormand@igalia.com>
8354
8355        Reviewed by Dirk Schulze.
8356
8357        [GStreamer] un-needed cairo.h include
8358        https://bugs.webkit.org/show_bug.cgi?id=38837
8359
8360        Cairo not used in the sink anymore. So it's not needed to include
8361        the header.
8362
8363        * platform/graphics/gstreamer/VideoSinkGStreamer.h:
8364
83652010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
8366
8367        Reviewed by Nikolas Zimmermann.
8368
8369        Build fix for Windows and Chromium builds.
8370
8371        * WebCore.gypi:
8372        * WebCore.vcproj/WebCore.vcproj:
8373        * svg/graphics/filters/SVGFELighting.cpp:
8374        (WebCore::FELighting::LightingData::upLeftPixelValue):
8375        (WebCore::FELighting::LightingData::upPixelValue):
8376        (WebCore::FELighting::LightingData::upRightPixelValue):
8377        (WebCore::FELighting::LightingData::leftPixelValue):
8378        (WebCore::FELighting::LightingData::centerPixelValue):
8379        (WebCore::FELighting::LightingData::rightPixelValue):
8380        (WebCore::FELighting::LightingData::downLeftPixelValue):
8381        (WebCore::FELighting::LightingData::downPixelValue):
8382        (WebCore::FELighting::LightingData::downRightPixelValue):
8383        (WebCore::FELighting::setPixel):
8384
83852010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
8386
8387        Reviewed by Nikolas Zimmermann.
8388
8389        Implementing SVG filters: feDiffuseLighting and feSpecularLighting
8390        https://bugs.webkit.org/show_bug.cgi?id=32197
8391        https://bugs.webkit.org/show_bug.cgi?id=32199
8392
8393        The patch implements the SVG filters feDiffuseLighting and
8394        feSpecularLighting including the impementation of their possible
8395        light sources according to the Scalable Vector Graphics (SVG)
8396        1.1 Specification. Only two features are missing: supporting images
8397        with height or width set to 1, and kernelUnitLength other than (1,1).
8398        Since the two lighting filters have a similar body, a common base
8399        class called FELighting is introduced, and contains the code for
8400        both filters. The implementation employs single precision floating
8401        point arithmetic (fixed precision integer arithmetic seemed too difficult).
8402
8403        Indentation is removed of the modified header files in svg/graphics/filters
8404
8405        * GNUmakefile.am:
8406        * WebCore.pro:
8407        * WebCore.xcodeproj/project.pbxproj:
8408        * platform/graphics/FloatPoint3D.cpp:
8409        * platform/graphics/FloatPoint3D.h:
8410        (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline
8411        (WebCore::operator*): dot product
8412        * svg/SVGFESpotLightElement.cpp:
8413        (WebCore::SVGFESpotLightElement::lightSource):
8414        * svg/graphics/filters/SVGDistantLightSource.h:
8415        (WebCore::DistantLightSource::create):
8416        (WebCore::DistantLightSource::azimuth):
8417        (WebCore::DistantLightSource::elevation):
8418        (WebCore::DistantLightSource::DistantLightSource):
8419        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
8420        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
8421        (WebCore::FEDiffuseLighting::create):
8422        * svg/graphics/filters/SVGFEDiffuseLighting.h:
8423        * svg/graphics/filters/SVGFELighting.cpp: Added.
8424        (WebCore::FELighting::FELighting):
8425        (WebCore::FELighting::LightingData::upLeftPixelValue):
8426        (WebCore::FELighting::LightingData::upPixelValue):
8427        (WebCore::FELighting::LightingData::upRightPixelValue):
8428        (WebCore::FELighting::LightingData::leftPixelValue):
8429        (WebCore::FELighting::LightingData::centerPixelValue):
8430        (WebCore::FELighting::LightingData::rightPixelValue):
8431        (WebCore::FELighting::LightingData::downLeftPixelValue):
8432        (WebCore::FELighting::LightingData::downPixelValue):
8433        (WebCore::FELighting::LightingData::downRightPixelValue):
8434        (WebCore::FELighting::setPixel):
8435        (WebCore::FELighting::drawLighting):
8436        (WebCore::FELighting::apply):
8437        * svg/graphics/filters/SVGFELighting.h: Added.
8438        (WebCore::FELighting::uniteChildEffectSubregions):
8439        (WebCore::FELighting::):
8440        * svg/graphics/filters/SVGFESpecularLighting.cpp:
8441        (WebCore::FESpecularLighting::FESpecularLighting):
8442        (WebCore::FESpecularLighting::create):
8443        * svg/graphics/filters/SVGFESpecularLighting.h:
8444        * svg/graphics/filters/SVGLightSource.cpp:
8445        (WebCore::PointLightSource::initPaintingData):
8446        (WebCore::PointLightSource::updatePaintingData):
8447        (WebCore::SpotLightSource::initPaintingData):
8448        (WebCore::SpotLightSource::updatePaintingData):
8449        (WebCore::DistantLightSource::initPaintingData):
8450        (WebCore::DistantLightSource::updatePaintingData):
8451        * svg/graphics/filters/SVGLightSource.h:
8452        (WebCore::):
8453        (WebCore::LightSource::LightSource):
8454        (WebCore::LightSource::~LightSource):
8455        (WebCore::LightSource::type):
8456        * svg/graphics/filters/SVGPointLightSource.h:
8457        (WebCore::PointLightSource::create):
8458        (WebCore::PointLightSource::position):
8459        (WebCore::PointLightSource::PointLightSource):
8460        * svg/graphics/filters/SVGSpotLightSource.h:
8461        (WebCore::SpotLightSource::create):
8462        (WebCore::SpotLightSource::position):
8463        (WebCore::SpotLightSource::direction):
8464        (WebCore::SpotLightSource::specularExponent):
8465        (WebCore::SpotLightSource::limitingConeAngle):
8466        (WebCore::SpotLightSource::SpotLightSource):
8467
84682010-05-12  Xan Lopez  <xlopez@igalia.com>
8469
8470        Reviewed by Nikolas Zimmermann.
8471
8472        Add missing AM_V_GEN directives to generation rules so that they
8473        remain silent when requested.
8474
8475        * GNUmakefile.am:
8476
84772010-05-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
8478
8479        Reviewed by Jeremy Orlow.
8480
8481        [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so
8482        use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030
8483        fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl.
8484        http://webkit.org/b/38904
8485
8486        No new tests required.
8487
8488        * platform/efl/ScrollbarEfl.cpp:
8489        (scrollbarEflEdjeMessage):
8490
84912010-05-12  MORITA Hajime  <morrita@google.com>
8492
8493        Reviewed by Kent Tamura.
8494
8495        [Chromium] Support HTML5 <progress> element on Windows.
8496        https://bugs.webkit.org/show_bug.cgi?id=37308
8497
8498        Extended ChromiumBridge to handle progress bar painting,
8499        and added delegations to it.
8500        
8501        No new tests. Test cases should be shared with existing ones for
8502        progress element.  Expectaions will be added after PROGRESS_TAG is
8503        enabled on Chromium tree.
8504
8505        * platform/chromium/ChromiumBridge.h:
8506        * rendering/RenderProgress.cpp:
8507        (WebCore::RenderProgress::animationProgress):
8508        (WebCore::RenderProgress::isDeterminate):
8509        * rendering/RenderProgress.h:
8510        (WebCore::RenderProgress::position):
8511        * rendering/RenderThemeChromiumWin.cpp:
8512        (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar):
8513        (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
8514        (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
8515        (WebCore::RenderThemeChromiumWin::paintProgressBar):
8516        * rendering/RenderThemeChromiumWin.h:
8517
85182010-05-12  Marcus Bulach  <bulach@chromium.org>
8519
8520        Reviewed by Steve Block.
8521
8522        Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition().
8523        This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based.
8524        https://bugs.webkit.org/show_bug.cgi?id=38195
8525
8526        * page/Geolocation.cpp:
8527        (WebCore::Geolocation::lastPosition):
8528        (WebCore::Geolocation::requestPermission):
8529        (WebCore::Geolocation::positionChangedInternal):
8530        (WebCore::Geolocation::positionChanged):
8531        (WebCore::Geolocation::geolocationServicePositionChanged):
8532        * page/Geolocation.h:
8533        * page/GeolocationController.cpp:
8534        (WebCore::GeolocationController::positionChanged):
8535        (WebCore::GeolocationController::lastPosition):
8536        * page/GeolocationController.h:
8537
85382010-05-12  Marcus Bulach  <bulach@chromium.org>
8539
8540        Reviewed by Steve Block.
8541
8542        Attaches the geolocation bridge later on startUpdating().
8543        This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition).
8544        Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called,
8545        so we attach the bridge if needed at requestGeolocationPermissionForFrame().
8546        https://bugs.webkit.org/show_bug.cgi?id=38323
8547        http://crbug.com/42789
8548
8549        * platform/chromium/GeolocationServiceChromium.h:
8550
85512010-05-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
8552
8553        Reviewed by Dirk Schulze.
8554
8555        Fix a bug in SVGPathSegList::getPathSegAtLength().
8556        This bug is just a misktake: almost all of the code is OK, but the
8557        parameter is not used at all, therefore, this function always returns
8558        "1".
8559        And make a modification to return the last path segment if the distance
8560        exceeds the actual path length.
8561        https://bugs.webkit.org/show_bug.cgi?id=37515
8562
8563        Test: svg/dom/svgpath-getPathSegAtLength.html
8564
8565        * svg/SVGPathSegList.cpp:
8566        (WebCore::SVGPathSegList::getPathSegAtLength):
8567
85682010-05-11  David Hyatt  <hyatt@apple.com>
8569
8570        Reviewed by Maciej Stachowiak.
8571
8572        https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
8573
8574        Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
8575
8576        * dom/Element.cpp:
8577        (WebCore::Element::pseudoStyleCacheIsInvalid):
8578
85792010-05-11  Joseph Pecoraro  <joepeck@webkit.org>
8580
8581        Reviewed by Timothy Hatcher.
8582
8583        Web Inspector: Shorthand Properties Getting Deleted When Editing
8584        https://bugs.webkit.org/show_bug.cgi?id=38958
8585
8586        * inspector/front-end/DOMAgent.js:
8587        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
8588
85892010-05-11  Tony Chang  <tony@chromium.org>
8590
8591        Reviewed by Darin Fisher.
8592
8593        [chromium] Remove subframe scrollbar routing (r58937)
8594        https://bugs.webkit.org/show_bug.cgi?id=38894
8595
8596        * page/chromium/EventHandlerChromium.cpp:
8597        (WebCore::EventHandler::passMousePressEventToSubframe):
8598
85992010-05-11  Simon Fraser  <simon.fraser@apple.com>
8600
8601        Reviewed by Maciej Stachowiak.
8602
8603        Body not redrawn, and filled with garbage on some composited pages
8604        https://bugs.webkit.org/show_bug.cgi?id=38951
8605        <rdar://problem/7891548>
8606        
8607        When the root layer becomes composited (for example, because a negative z-index
8608        descendant in its stacking context becomes composited), then it has to be made
8609        large enough to fill the viewport, because the page background draws into it.
8610
8611        Test: compositing/geometry/composited-html-size.html
8612
8613        * rendering/RenderLayerCompositor.cpp:
8614        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
8615
86162010-05-11  Anders Carlsson  <andersca@apple.com>
8617
8618        Reviewed by Mark Rowe.
8619
8620        https://bugs.webkit.org/show_bug.cgi?id=38961
8621        Move some member variables around to reduce class sizes.
8622
8623        If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
8624        of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
8625        and thus increasing its size.
8626
8627        * css/CSSParserValues.h:
8628        * css/CSSSelector.h:
8629        (WebCore::CSSSelector::CSSSelector):
8630        (WebCore::CSSSelector::RareData::RareData):
8631        * platform/graphics/FontCache.cpp:
8632        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
8633
86342010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
8635
8636        Reviewed by Adam Barth.
8637
8638        Adding a function needed by the V8 code generator to turn on/off
8639        the binding for WorkerContext::openDatabaseSync().
8640        https://bugs.webkit.org/show_bug.cgi?id=38960
8641
8642        * bindings/generic/RuntimeEnabledFeatures.cpp:
8643        (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
8644        * bindings/generic/RuntimeEnabledFeatures.h:
8645
86462010-05-11  MORITA Hajime  <morrita@google.com>
8647
8648        Reviewed by Dirk Schulze.
8649
8650        CSS SVG font doesn't recognize URL without element reference
8651        https://bugs.webkit.org/show_bug.cgi?id=37144
8652
8653        CachedFont::getSVGFontById() did assume that element reference (ID) is given.
8654        So fixed to handle an empty or missing element reference. In which case, 
8655        the first font element is returned if available.
8656        
8657        Test: svg/custom/svg-fonts-with-no-element-reference.html
8658
8659        * loader/CachedFont.cpp:
8660        (WebCore::CachedFont::getSVGFontById):
8661
86622010-05-11  Jer Noble  <jer.noble@apple.com>
8663
8664        No Review.
8665        
8666        Fix the Windows Debug Build: the correct VCProj variable to use when linking against
8667        JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
8668        to an empty string rather than "_debug".
8669        
8670        * WebCore.vcproj/QTMovieWin.vcproj:
8671
86722010-05-11  Jer Noble  <jer.noble@apple.com>
8673
8674        19 media tests are crashing on Windows Release
8675        https://bugs.webkit.org/show_bug.cgi?id=38950
8676        rdar://problem/7971658
8677
8678        Reviewed by Darin Adler.
8679
8680        Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by 
8681        QTMovieWin is always the free and malloc in JavaScriptCore.dll.
8682        
8683        * WebCore.vcproj/QTMovieWin.vcproj:
8684
86852010-05-11  Darin Adler  <darin@apple.com>
8686
8687        Reviewed by Beth Dakin.
8688
8689        Another refactoring patch in preparation for a fix to
8690        https://bugs.webkit.org/show_bug.cgi?id=38871
8691        REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
8692
8693        * dom/Document.cpp:
8694        (WebCore::Document::addMediaCanStartListener): Added.
8695        (WebCore::Document::removeMediaCanStartListener): Added.
8696
8697        * dom/Document.h: Added add/removeMediaCanStartListener.
8698
8699        * html/HTMLMediaElement.cpp:
8700        (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
8701        on the document instead of the page.
8702        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
8703        removeMediaCanStartListener on the current document.
8704        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
8705        addMediaCanStartListener on the new document.
8706        (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
8707        on the document instead of the page.
8708
8709        * plugins/PluginView.cpp:
8710        (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
8711        on the document instead of the page.
8712        (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
8713        on the document instead of the page, and do it in line instead of calling
8714        a function.
8715
8716        * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
8717
87182010-05-11  Brian Weinstein  <bweinstein@apple.com>
8719
8720        Reviewed by Steve Falkenburg and Jon Honeycutt.
8721        Patch by Gavin Barraclough.
8722
8723        REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
8724        https://bugs.webkit.org/show_bug.cgi?id=38930
8725        <rdar://problem/7937188>
8726        
8727        Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8728
8729        No new tests because no change in behavior.
8730
8731        * WebCore.vcproj/WebCore.vcproj:
8732
87332010-05-11  Beth Dakin  <bdakin@apple.com>
8734
8735        Reviewed by Darin Adler.
8736
8737        Small re-factoring patch in preparation for fixing https://
8738        bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking 
8739        background NPR tab after few minutes of sitting idle
8740
8741        * page/Page.cpp:
8742        (WebCore::Page::takeAnyMediaCanStartListener):
8743        (WebCore::Page::setCanStartMedia):
8744        * page/Page.h:
8745
87462010-05-11  Alexey Proskuryakov  <ap@apple.com>
8747
8748        Reviewed by Brady Eidson.
8749
8750        https://bugs.webkit.org/show_bug.cgi?id=37989
8751        Safari (still) doesn't always send basic credentials preemptively
8752
8753        Test: http/tests/xmlhttprequest/basic-auth-default.html
8754
8755        After fetching credentials from WebCore storage, put them back right away. This will add
8756        default credentials for the directory, since this may be the first time we learn about its
8757        associated protection space.
8758
8759        * platform/network/cf/ResourceHandleCFNet.cpp:
8760        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
8761        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
8762        * platform/network/mac/ResourceHandleMac.mm:
8763        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
8764        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
8765
87662010-05-11  Kevin Watters  <kevinwatters@gmail.com>
8767
8768        Reviewed by Kevin Ollivier.
8769
8770        [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
8771        https://bugs.webkit.org/show_bug.cgi?id=38931
8772
8773        * platform/graphics/wx/FontPlatformData.h:
8774        (WebCore::FontPlatformData::nsFont):
8775        * platform/graphics/wx/FontPlatformDataWxMac.mm:
8776        (DegToRad):
8777        (OSXCreateNSFont):
8778        (WebCore::FontPlatformData::cacheNSFont):
8779        * platform/graphics/wx/SimpleFontDataWx.cpp:
8780        (WebCore::SimpleFontData::platformWidthForGlyph):
8781
87822010-05-11  Avi Drissman  <avi@chromium.org>
8783
8784        Reviewed by Darin Fisher.
8785
8786        [Chromium] Pipe RTL info into WebPopupMenuInfo
8787        https://bugs.webkit.org/show_bug.cgi?id=38749
8788
8789        * platform/chromium/PopupMenuChromium.cpp:
8790        (WebCore::PopupContainer::menuStyle):
8791        * platform/chromium/PopupMenuChromium.h:
8792
87932010-05-11  Mark Rowe  <mrowe@apple.com>
8794
8795        Fix the world.
8796
8797        In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
8798        The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
8799        that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
8800        in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
8801        and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
8802        function in WebCore being called.
8803
8804        We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
8805        other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
8806        has been reverted.
8807
8808        * Configurations/FeatureDefines.xcconfig:
8809
88102010-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
8811
8812        Reviewed by Darin Adler.
8813
8814        REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
8815        https://bugs.webkit.org/show_bug.cgi?id=38913
8816
8817        * Widened the check for a successful submit button to include all HTMLFormControlElements.
8818        * Clarified implicit submission code by:
8819            - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
8820            - getting rid of static casting and checking for tag names.
8821
8822        * html/HTMLFormControlElement.h:
8823        (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
8824        * html/HTMLFormElement.cpp:
8825        (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
8826            to use canTriggerImplicitSubmission.
8827        * html/HTMLFormElement.h: Renamed parameter for clarity.
8828        * html/HTMLInputElement.cpp:
8829        (WebCore::HTMLInputElement::defaultEventHandler):  Used canTriggerImplicitSubmission()
8830            instead of isTextField() for clarity.
8831        * html/HTMLInputElement.h:
8832        (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
8833        * html/HTMLIsIndexElement.h:
8834        (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
8835
88362010-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
8837
8838        Unreviewed, rolling out r59171.
8839        http://trac.webkit.org/changeset/59171
8840        https://bugs.webkit.org/show_bug.cgi?id=38933
8841
8842        "Broke the world" (Requested by bweinstein on #webkit).
8843
8844        * WebCore.vcproj/WebCore.vcproj:
8845
88462010-05-11  Brian Weinstein  <bweinstein@apple.com>
8847
8848        Reviewed by Steve Falkenburg.
8849        Patch by Gavin Barraclough.
8850
8851        REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
8852        https://bugs.webkit.org/show_bug.cgi?id=38930
8853        <rdar://problem/7937188>
8854        
8855        Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
8856
8857        No new tests because no change in behavior.
8858
8859        * WebCore.vcproj/WebCore.vcproj:
8860
88612010-05-11  Jian Li  <jianli@chromium.org>
8862
8863        Unreviewed. Fix compiling erron on snow leopard.
8864
8865        * html/FileThreadTask.h:
8866        (WebCore::createFileThreadTask):
8867
88682010-05-11  Jian Li  <jianli@chromium.org>
8869
8870        Reviewed by Dmitry Titov.
8871
8872        Expose FileReader interface.
8873        https://bugs.webkit.org/show_bug.cgi?id=38609
8874
8875        Test: fast/files/file-reader.html
8876
8877        * Configurations/FeatureDefines.xcconfig:
8878        * DerivedSources.cpp:
8879        * DerivedSources.make:
8880        * GNUmakefile.am:
8881        * WebCore.gypi:
8882        * WebCore.pri:
8883        * WebCore.vcproj/WebCore.vcproj:
8884        * WebCore.xcodeproj/project.pbxproj:
8885        * bindings/js/JSEventTarget.cpp:
8886        (WebCore::toJS):
8887        * bindings/v8/V8DOMWrapper.cpp:
8888        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
8889        * html/FileError.idl:
8890        * html/FileReader.idl: Added.
8891        * page/DOMWindow.idl:
8892
88932010-05-11  Xan Lopez  <xlopez@igalia.com>
8894
8895        Reviewed by Gustavo Noronha.
8896
8897        [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
8898        https://bugs.webkit.org/show_bug.cgi?id=38653
8899
8900        Check if willSendRequest cancelled the request before setting the
8901        first party for the cookies in the message, otherwise we'll get a
8902        critical warning.
8903
8904        * platform/network/soup/ResourceHandleSoup.cpp:
8905        (WebCore::restartedCallback):
8906
89072010-05-11  Jer Noble  <jer.noble@apple.com>
8908
8909        Reviewed by Adele Peterson.
8910
8911        REGRESSION (r59001): 11 media tests are failing on Windows (38847)
8912        rdar://problem/7962997
8913        https://bugs.webkit.org/show_bug.cgi?id=38847
8914        
8915        QTMovieWin was too much refactored; the cacheMovieScale() function should have
8916        been left in QTMovie (instead of being moved into QTMovieGWorld).  This fixes the
8917        video-size-intrinsic-scale test.
8918        
8919        QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless 
8920        QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
8921        scheduled for extremely far in the future, breaking some of the layout tests.
8922        
8923        QTMovieTask::fireTaskClients() now makes a local copy of the task list before 
8924        calling clients, in case one of them removes themselves from the task list and
8925        invalidates our iterating pointer.
8926        
8927        * platform/graphics/win/QTMovie.cpp:
8928        (QTMoviePrivate::task):
8929        (QTMoviePrivate::createMovieController):
8930        (QTMoviePrivate::cacheMovieScale):
8931        * platform/graphics/win/QTMovieGWorld.cpp:
8932        (QTMovieGWorldPrivate::movieLoadStateChanged):
8933        * platform/graphics/win/QTMovieTask.cpp:
8934        (QTMovieTask::updateTaskTimer):
8935        (QTMovieTask::fireTaskClients):
8936
89372010-05-11  Patrick Gansterer  <paroga@paroga.com>
8938
8939        Reviewed by Adam Roben.
8940
8941        Port SharedBuffer to WinCE.
8942        https://bugs.webkit.org/show_bug.cgi?id=37222
8943
8944        Use only functions which are available on Win32 and WinCE.
8945
8946        * platform/win/SharedBufferWin.cpp:
8947        (WebCore::SharedBuffer::createWithContentsOfFile):
8948
89492010-05-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
8950
8951        Reviewed by Kenneth Rohde Christiansen.
8952
8953        [Qt] fast/text/find-hidden-text.html
8954        https://bugs.webkit.org/show_bug.cgi?id=32922
8955
8956        Use the real page step for populating the QStyleOption otherwhise
8957        the size can be negative, which can break the QStyle used.
8958
8959        * platform/qt/ScrollbarThemeQt.cpp:
8960        (WebCore::styleOptionSlider):
8961
89622010-05-11  Pavel Feldman  <pfeldman@chromium.org>
8963
8964        Reviewed by Yury Semikhatsky.
8965
8966        Web Inspector: make styles rendering more user-friendly.
8967
8968        https://bugs.webkit.org/show_bug.cgi?id=36747
8969
8970        * inspector/front-end/ElementsPanel.js:
8971        (WebInspector.ElementsPanel):
8972        * inspector/front-end/StylesSidebarPane.js:
8973        (WebInspector.StylesSidebarPane.prototype._update):
8974        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
8975        (WebInspector.ComputedStyleSidebarPane):
8976        (WebInspector.StylePropertiesSection):
8977        (WebInspector.StylePropertiesSection.prototype.collapse):
8978        (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
8979        * inspector/front-end/inspector.css:
8980        (#elements-content):
8981        (#elements-sidebar):
8982        (.styles-sidebar-separator):
8983        (.styles-section):
8984        (.styles-section .header):
8985        (.styles-section .header .title):
8986        (.styles-section .header .subtitle):
8987        (.styles-section .header .subtitle a):
8988        (.styles-section .properties):
8989        (.styles-section.no-affect .properties li):
8990        (.styles-section.no-affect .properties li.editing):
8991        (.styles-section.expanded .properties):
8992        (.styles-section .properties li):
8993        (.styles-section .properties li.parent):
8994        (.styles-section .properties ol):
8995        (.styles-section .properties ol.expanded):
8996        (.styles-section .properties li.parent::before):
8997        (.styles-section .properties li.parent.expanded::before):
8998        (.styles-section .properties li .info):
8999        (.styles-section:hover .properties .enabled-button):
9000        (.styles-section .properties li.disabled .enabled-button):
9001        (.styles-section .properties .enabled-button):
9002        (.styles-section .properties .overloaded, .styles-section .properties .disabled):
9003        (.styles-section.computed-style .properties .disabled):
9004        (.styles-section .properties .implicit, .styles-section .properties .inherited):
9005        (.styles-section .properties .inherited):
9006        (.styles-section.show-inherited .properties .inherited):
9007
90082010-05-11  Nikolas Zimmermann  <nzimmermann@rim.com>
9009
9010        Reviewed by Dirk Schulze.
9011
9012        Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
9013        https://bugs.webkit.org/show_bug.cgi?id=38799
9014
9015        Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
9016        Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
9017
9018        Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
9019
9020        Tests: svg/text/text-hkern-on-vertical-text.svg
9021               svg/text/text-vkern-on-horizontal-text.svg
9022
9023        * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
9024        * GNUmakefile.am: Ditto.
9025        * WebCore.gypi: Ditto.
9026        * WebCore.pro: Ditto.
9027        * WebCore.vcproj/WebCore.vcproj: Ditto.
9028        * WebCore.xcodeproj/project.pbxproj: Ditto.
9029        * rendering/SVGInlineTextBox.cpp:
9030        (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
9031        (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
9032        (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
9033        (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
9034        * rendering/SVGInlineTextBox.h: Fix indention.
9035        (WebCore::SVGInlineTextBox::selectionTop): Inlined.
9036        (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
9037        * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
9038        * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
9039        (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
9040        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
9041        (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
9042        (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
9043        (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
9044        * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
9045        (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
9046        * rendering/SVGTextLayoutUtilities.cpp: Added.
9047        (WebCore::isVerticalWritingMode):
9048        (WebCore::dominantBaselineToShift):
9049        (WebCore::alignmentBaselineToShift):
9050        (WebCore::glyphOrientationToAngle):
9051        (WebCore::glyphOrientationIsMultiplyOf180Degrees):
9052        (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
9053        (WebCore::topLeftPositionOfCharacterRange):
9054        (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
9055        (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
9056        (WebCore::svgTextRunForInlineTextBox):
9057        (WebCore::calculateCSSKerning):
9058        (WebCore::applySVGKerning):
9059        * rendering/SVGTextLayoutUtilities.h: Added.
9060        (WebCore::):
9061        (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
9062        (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
9063
90642010-05-11  Zoltan Herczeg  <zherczeg@webkit.org>
9065
9066        Reviewed by Dirk Schulze.
9067
9068        RenderSVGImage::imageChanged should invalidate the SVG filter cache
9069        https://bugs.webkit.org/show_bug.cgi?id=38838
9070
9071        Test: svg/filters/filteredImage.svg
9072
9073        * rendering/RenderSVGImage.cpp:
9074        (WebCore::RenderSVGImage::imageChanged):
9075
90762010-05-10  Simon Fraser  <simon.fraser@apple.com>
9077
9078        Fix asserting GTK build.
9079
9080        r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
9081        thought that non-compositing builds would always pass a 0 repaintContainer, but
9082        actually the RenderView is passed in this case. So use this to repaint if 
9083        ACCELERATED_COMPOSITING is turned off.
9084
9085        * rendering/RenderObject.cpp:
9086        (WebCore::RenderObject::repaintUsingContainer):
9087
90882010-05-10  Simon Fraser  <simon.fraser@apple.com>
9089
9090        Fix warning on Windows about unreachable code.
9091
9092        * rendering/RenderLayerCompositor.cpp:
9093        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
9094
90952010-05-10  Simon Fraser  <simon.fraser@apple.com>
9096
9097        Reviewed by Anders Carlsson
9098
9099        Allow compositing layers to be connected across iframe boundaries on Mac
9100        https://bugs.webkit.org/show_bug.cgi?id=38856
9101        
9102        RenderObject::repaintUsingContainer() incorrectly did a view-based
9103        repaint if the repaint container was the RenderView. Instead, we need
9104        to check to see if the RenderView's layer is composited, and, if so,
9105        whether it's painting into the window or not. This can occur when iframes
9106        are composited.
9107
9108        The bug is timing-sensitive, involving compositing in iframes, and I was not able to
9109        concoct a good testcase.
9110
9111        * rendering/RenderObject.cpp:
9112        (WebCore::RenderObject::repaintUsingContainer):
9113
91142010-05-10  Simon Fraser  <simon.fraser@apple.com>
9115
9116        Reviewed by Anders Carlsson
9117
9118        Allow compositing layers to be connected across iframe boundaries on Mac
9119        https://bugs.webkit.org/show_bug.cgi?id=38856
9120
9121        Changes to allow compositing layers for iframes to switch between being hosted
9122        by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
9123        enclosing document.
9124
9125        Tests: compositing/iframes/connect-compositing-iframe.html
9126               compositing/iframes/connect-compositing-iframe2.html
9127               compositing/iframes/connect-compositing-iframe3.html
9128
9129        * page/FrameView.h:
9130        * page/FrameView.cpp:
9131        (WebCore::FrameView::hasCompositedContent): New convenience method.
9132        (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
9133            wants to re-evaluate compositing decisions.
9134        (WebCore::FrameView::isOverlapped): Just expose the existing flag.
9135
9136        * rendering/RenderLayer.cpp:
9137        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
9138        (WebCore::RenderLayer::isSelfPaintingLayer):
9139
9140        * rendering/RenderLayerBacking.cpp:
9141        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
9142            to ensure that the layers for the iframe content are hooked up.
9143        (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
9144            attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
9145
9146        * rendering/RenderLayerCompositor.h:
9147        (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
9148            instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
9149        (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
9150            we need to ensure that its content compositor attachment is updated.
9151        (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
9152            that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
9153            for non-RenderViews that are not attached.
9154        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
9155            code into a new method, parentIFrameContentLayers().
9156        (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
9157            up the iframe's compositing layers to the parent.
9158        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
9159            compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
9160            if the parent document is already composited.
9161        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
9162            with dynamic changes of the attachment type.
9163        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
9164        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
9165        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
9166        (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
9167            the layer attachment.
9168        (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
9169            of the RenderView's layer's backing, because it changes depending on the attachment.
9170
9171        * rendering/RenderWidget.cpp:
9172        (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
9173            but also now when the frameView has composited content.
9174
91752010-05-10  Simon Fraser  <simon.fraser@apple.com>
9176
9177        Reviewed by Anders Carlsson
9178
9179        Allow compositing layers to be connected across iframe boundaries on Mac
9180        https://bugs.webkit.org/show_bug.cgi?id=38856
9181
9182        Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
9183        to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
9184        the correct RenderLayerCompositor (that belonging to the iframe's content document).
9185        
9186        * rendering/RenderLayerBacking.cpp:
9187        (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
9188        can simplify this method.
9189
9190        * rendering/RenderLayerCompositor.h:
9191        * rendering/RenderLayerCompositor.cpp:
9192        (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
9193        here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
9194
9195        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
9196        whether to parent the iframe's layers.
9197        
9198        (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
9199        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
9200        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
9201        document's compositor to ask whether propagation is appropriate.
9202        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
9203
92042010-05-10  Simon Fraser  <simon.fraser@apple.com>
9205
9206        Reviewed by Anders Carlsson
9207
9208        Allow compositing layers to be connected across iframe boundaries on Mac
9209        https://bugs.webkit.org/show_bug.cgi?id=38856
9210        
9211        Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
9212        determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
9213
9214        * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
9215        (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
9216
9217        * rendering/RenderLayerCompositor.cpp:
9218        (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
9219        (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
9220        (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
9221        when there are no layers left. Also clear out the clipping layer.
9222        (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
9223        (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
9224        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
9225           already, but be sure to always set the root layer geometry orientation. Also only create the
9226           m_clippingLayer if we need to.
9227        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
9228        (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
9229            attachment.
9230        (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
9231            attachment.
9232
92332010-05-10  Simon Fraser  <simon.fraser@apple.com>
9234
9235        Reviewed by Anders Carlsson
9236
9237        Allow compositing layers to be connected across iframe boundaries on Mac
9238        https://bugs.webkit.org/show_bug.cgi?id=38856
9239
9240        Clean up the geometry logic when propagating compositing out of iframes.
9241
9242        * rendering/RenderLayerCompositor.cpp:
9243        (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
9244        needs to be special when there's a clipping layer.
9245        
9246        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
9247        flipped geometry ever, and only set the root layer to have flipped geometry if it is not
9248        being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
9249
92502010-05-10  Simon Fraser  <simon.fraser@apple.com>
9251
9252        Reviewed by Anders Carlsson
9253
9254        Allow compositing layers to be connected across iframe boundaries on Mac
9255        https://bugs.webkit.org/show_bug.cgi?id=38856
9256
9257        Clean up some methods related to composited iframes. No behavioral changes.
9258
9259        * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
9260            RenderLayerCompositor::iframeContentsCompositor().
9261        * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
9262        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
9263        
9264        * rendering/RenderLayerCompositor.cpp:
9265        (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
9266        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
9267        Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
9268        null).
9269        (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
9270        (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
9271        (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
9272        (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
9273        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
9274        * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
9275
92762010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9277
9278        Reviewed by Brady Eidson.
9279
9280        Cleaning up and fixing the existing JSC DB bindings.
9281        https://bugs.webkit.org/show_bug.cgi?id=34994
9282
9283        * bindings/js/JSDOMWindowCustom.cpp:
9284        (WebCore::JSDOMWindow::openDatabase):
9285        * bindings/js/JSDatabaseCustom.cpp:
9286        (WebCore::JSDatabase::changeVersion):
9287        (WebCore::createTransaction):
9288        (WebCore::JSDatabase::transaction):
9289        (WebCore::JSDatabase::readTransaction):
9290        * bindings/js/JSSQLTransactionCustom.cpp:
9291        (WebCore::JSSQLTransaction::executeSql):
9292
92932010-05-10  Fumitoshi Ukai  <ukai@chromium.org>
9294
9295        Reviewed by Alexey Proskuryakov.
9296
9297        WebSocket needs to suspend/resume as Active DOM object.
9298        https://bugs.webkit.org/show_bug.cgi?id=38171
9299
9300        Implement suspend()/resume() in WebSocket and WebSocketChannel.
9301        While WebSocketChannel is suspended, it only adds received data in m_buffer
9302        or record the handle was closed, and report no event to WebSocket.
9303        When resumed, it will process buffer or handle closing.
9304        Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
9305        So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
9306        so that next call of processBuffer() would process the next frame.
9307
9308        * websockets/ThreadableWebSocketChannel.h:
9309        * websockets/ThreadableWebSocketChannelClientWrapper.h:
9310        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
9311          Mark channel is opened, and process pending events if not suspended.
9312        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
9313          Push message back in pending queue, and process pending events if not suspended.
9314        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
9315          Mark channel is closed, and process pending events if not suspended.
9316        (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
9317          Mark suspended.
9318        (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
9319          Unmark suspended, and process pending events.
9320        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
9321        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
9322        * websockets/WebSocket.cpp:
9323        (WebCore::WebSocket::canSuspend):
9324        (WebCore::WebSocket::suspend):
9325        (WebCore::WebSocket::resume):
9326        (WebCore::WebSocket::didClose):
9327        * websockets/WebSocket.h:
9328        * websockets/WebSocketChannel.cpp:
9329        (WebCore::WebSocketChannel::WebSocketChannel):
9330        (WebCore::WebSocketChannel::connect):
9331        (WebCore::WebSocketChannel::send):
9332        (WebCore::WebSocketChannel::bufferedAmount):
9333        (WebCore::WebSocketChannel::close):
9334        (WebCore::WebSocketChannel::suspend):
9335        (WebCore::WebSocketChannel::resume):
9336         When resumed, it will process buffer and
9337         handle closing if handle was already closed while suspended.
9338        (WebCore::WebSocketChannel::didClose):
9339         If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
9340        (WebCore::WebSocketChannel::didReceiveData):
9341         Add received data in buffer and process buffer while it is not suspended.
9342        (WebCore::WebSocketChannel::processBuffer):
9343         Process handshake header or one frame message.
9344         Return true if there are more data to be processed.
9345         Return false otherwise (e.g. incomplete handshake header or incomplete frame).
9346        * websockets/WebSocketChannel.h:
9347        * websockets/WorkerThreadableWebSocketChannel.cpp:
9348        (WebCore::WorkerThreadableWebSocketChannel::suspend):
9349        (WebCore::WorkerThreadableWebSocketChannel::resume):
9350        (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
9351        (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
9352        (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
9353        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
9354        (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
9355        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
9356        * websockets/WorkerThreadableWebSocketChannel.h:
9357
93582010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
9359
9360        Reviewed by Brady Eidson.
9361
9362        Implement the JSC bindings for the sync DB API.
9363        https://bugs.webkit.org/show_bug.cgi?id=34994
9364
9365        * bindings/js/JSDatabaseSyncCustom.cpp:
9366        (WebCore::JSDatabaseSync::changeVersion):
9367        (WebCore::createTransaction):
9368        * bindings/js/JSSQLTransactionSyncCustom.cpp:
9369        (WebCore::JSSQLTransactionSync::executeSql):
9370
93712010-05-10  Dean Jackson  <dino@apple.com>
9372
9373        Reviewed by Simon Fraser.
9374
9375        https://bugs.webkit.org/show_bug.cgi?id=36566
9376        The animation-fill-mode property was missing from
9377        a few places where the animation shorthand is set up.
9378
9379        Test: animations/animation-shorthand-removed.html
9380
9381        * css/CSSMutableStyleDeclaration.cpp:
9382        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
9383        animation-fill-mode is included in the animation shorthand
9384        * css/CSSPropertyLonghand.cpp:
9385        (WebCore::initShorthandMap):
9386
93872010-05-10  Sam Weinig  <sam@webkit.org>
9388
9389        Reviewed by Darin Adler.
9390
9391        Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
9392        <rdar://problem/7948784> Crash in Element::normalizeAttributes.
9393
9394        Test: fast/dom/Element/normalize-crash.html
9395
9396        * dom/Element.cpp:
9397        (WebCore::Element::normalizeAttributes): Copy attributes to a vector
9398        before iterating.
9399        * dom/NamedAttrMap.cpp:
9400        (WebCore::NamedNodeMap::copyAttributesToVector): Added.
9401        * dom/NamedAttrMap.h:
9402
94032010-05-10  Jian Li  <jianli@chromium.org>
9404
9405        Reviewed by Adam Barth.
9406
9407        [V8] Fix V8 code generator script to generate the correct code for
9408        converting ScriptString.
9409        https://bugs.webkit.org/show_bug.cgi?id=38873
9410
9411        Updated the bindings test result. Note that the result is also updated
9412        to reflect other script generator changes not introduced by this patch.
9413
9414        * bindings/scripts/CodeGeneratorV8.pm:
9415        * bindings/scripts/test/JS/JSTestCallback.cpp:
9416        (WebCore::JSTestCallback::JSTestCallback):
9417        (WebCore::JSTestCallback::~JSTestCallback):
9418        * bindings/scripts/test/JS/JSTestCallback.h:
9419        * bindings/scripts/test/V8/V8TestObj.cpp:
9420        (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
9421
94222010-05-10  Mark Rowe  <mrowe@apple.com>
9423
9424        Fix the 32-bit WebKit2 build.
9425
9426        * WebCore.base.exp:
9427
94282010-05-07  Jon Honeycutt  <jhoneycutt@apple.com>
9429
9430        Crash closing window containing Flash plug-in
9431        https://bugs.webkit.org/show_bug.cgi?id=38797
9432        <rdar://problem/7935266>
9433
9434        Reviewed by Eric Seidel.
9435
9436        Test: plugins/geturlnotify-during-document-teardown.html
9437
9438        * plugins/PluginView.cpp:
9439        (WebCore::PluginView::load):
9440        Null check the DocumentLoader; it's possible for this to be null while
9441        the Document is being torn down and before the plug-in is destroyed.
9442
94432010-05-10  Alexey Proskuryakov  <ap@apple.com>
9444
9445        Reviewed by Darin Adler.
9446
9447        Based on a patch by Eric Seidel.
9448
9449        https://bugs.webkit.org/show_bug.cgi?id=28697
9450        <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
9451
9452        It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
9453        that it can adjust start and end position to any node except for the one being removed -
9454        so these notifications cannot be batched.
9455
9456        Test: fast/dom/Range/remove-all-children-crash.html
9457
9458        * dom/ContainerNode.cpp:
9459        (WebCore::willRemoveChild): Removed unused ExceptionCode.
9460        (WebCore::willRemoveChildren): New function, used in removeChildren() case.
9461        (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
9462        (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
9463        (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
9464        and willRemoveChild.
9465
9466        * dom/Document.cpp:
9467        (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9468
9469        * dom/Document.h: 
9470        (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9471
9472        * dom/Range.h:
9473        * dom/Range.cpp:
9474        (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
9475        (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
9476
94772010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9478
9479        Reviewed by Adam Barth.
9480
9481        Implement the V8 bindings for the sync DB API.
9482        https://bugs.webkit.org.show_bug.cgi?id=34994
9483
9484        * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
9485        (WebCore::V8DatabaseSync::changeVersionCallback):
9486        (WebCore::createTransaction):
9487        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
9488        (WebCore::V8SQLTransactionSync::executeSqlCallback):
9489        * bindings/v8/custom/V8WorkerContextCustom.cpp:
9490        (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
9491
94922010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
9493
9494        Reviewed by Adam Barth.
9495
9496        Clean up and fix the existing V8 DB bindings.
9497        https://bugs.webkit.org/show_bug.cgi?id=34994
9498
9499        * bindings/v8/custom/V8DOMWindowCustom.cpp:
9500        (WebCore::V8DOMWindow::openDatabaseCallback):
9501        * bindings/v8/custom/V8DatabaseCustom.cpp:
9502        (WebCore::V8Database::changeVersionCallback):
9503        (WebCore::createTransaction):
9504        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
9505        (WebCore::V8SQLTransaction::executeSqlCallback):
9506
95072010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
9508
9509        [wx] Build fix for wx 2.8 after complex text changes.
9510
9511        * platform/graphics/wx/FontPlatformDataWxMac.mm:
9512        (WebCore::FontPlatformData::nsFont):
9513        * platform/graphics/wx/SimpleFontDataWx.cpp:
9514        (WebCore::SimpleFontData::platformWidthForGlyph):
9515
95162010-05-10  John Gregg  <johnnyg@google.com>
9517
9518        [chromium] Try to fix the chromium build after r59085 by
9519        including MathExtras.h before using isnan().
9520        https://bugs.webkit.org/show_bug.cgi?id=38860
9521
9522        * html/canvas/WebGLIntegralTypedArrayBase.h:
9523
95242010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
9525
9526        [wx] Build fix for wx trunk after complex text changes.
9527
9528        * platform/graphics/wx/FontPlatformDataWx.cpp:
9529        (WebCore::FontPlatformData::FontPlatformData):
9530
95312010-05-10  Tony Gentilcore  <tonyg@chromium.org>
9532
9533        Reviewed by Adam Barth.
9534
9535        Provide mechanism to cache metadata for a resource
9536        https://bugs.webkit.org/show_bug.cgi?id=37874
9537
9538        No new tests because no new functionality.
9539
9540        * WebCore.gypi:
9541        * loader/CachedMetadata.h: Added.
9542        (WebCore::CachedMetadata::create):
9543        (WebCore::CachedMetadata::deserialize):
9544        (WebCore::CachedMetadata::serialize):
9545        (WebCore::CachedMetadata::~CachedMetadata):
9546        (WebCore::CachedMetadata::dataTypeID):
9547        (WebCore::CachedMetadata::data):
9548        (WebCore::CachedMetadata::size):
9549        (WebCore::CachedMetadata::readUnsigned):
9550        (WebCore::CachedMetadata::appendUnsigned):
9551        (WebCore::CachedMetadata::CachedMetadata):
9552        * loader/CachedResource.cpp:
9553        (WebCore::CachedResource::setSerializedCachedMetadata):
9554        (WebCore::CachedResource::setCachedMetadata):
9555        (WebCore::CachedResource::cachedMetadata):
9556        * loader/CachedResource.h:
9557        * loader/ResourceLoader.h:
9558        (WebCore::ResourceLoader::didReceiveCachedMetadata):
9559        * loader/SubresourceLoader.cpp:
9560        (WebCore::SubresourceLoader::didReceiveCachedMetadata):
9561        * loader/SubresourceLoader.h:
9562        * loader/SubresourceLoaderClient.h:
9563        (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
9564        * loader/loader.cpp:
9565        (WebCore::Loader::Host::didReceiveCachedMetadata):
9566        * loader/loader.h:
9567        * platform/network/ResourceHandle.cpp:
9568        (WebCore::ResourceHandle::cacheMetadata):
9569        * platform/network/ResourceHandle.h:
9570        * platform/network/ResourceHandleClient.h:
9571        (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
9572
95732010-05-09  Kenneth Russell  <kbr@google.com>
9574
9575        Reviewed by Dimitri Glazkov.
9576
9577        Refactor WebGLArray types to share more code
9578        https://bugs.webkit.org/show_bug.cgi?id=37712
9579
9580        Refactored WebGLArray types for maximal code sharing. Added
9581        WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
9582        superclasses. Changed overridden virtuals to have minimal
9583        visibility (private instead of public). Fixed const correctness of
9584        a few methods. There are no changes to the public APIs of the
9585        WebGLArray classes; the JavaScript bindings are unchanged.
9586
9587        No new tests; existing tests cover this functionality. Ran all
9588        WebGL layout tests in Safari and Chromium on Mac OS X.
9589
9590        * WebCore.gypi:
9591        * WebCore.xcodeproj/project.pbxproj:
9592        * html/canvas/WebGLArray.h:
9593        (WebCore::WebGLArray::buffer):
9594        (WebCore::WebGLArray::baseAddress):
9595        (WebCore::WebGLArray::byteOffset):
9596        * html/canvas/WebGLByteArray.cpp:
9597        (WebCore::WebGLByteArray::create):
9598        (WebCore::WebGLByteArray::WebGLByteArray):
9599        (WebCore::WebGLByteArray::slice):
9600        * html/canvas/WebGLByteArray.h:
9601        (WebCore::WebGLByteArray::isByteArray):
9602        * html/canvas/WebGLFloatArray.cpp:
9603        (WebCore::WebGLFloatArray::create):
9604        (WebCore::WebGLFloatArray::WebGLFloatArray):
9605        (WebCore::WebGLFloatArray::slice):
9606        * html/canvas/WebGLFloatArray.h:
9607        (WebCore::WebGLFloatArray::set):
9608        (WebCore::WebGLFloatArray::item):
9609        (WebCore::WebGLFloatArray::isFloatArray):
9610        * html/canvas/WebGLIntArray.cpp:
9611        (WebCore::WebGLIntArray::create):
9612        (WebCore::WebGLIntArray::WebGLIntArray):
9613        (WebCore::WebGLIntArray::slice):
9614        * html/canvas/WebGLIntArray.h:
9615        (WebCore::WebGLIntArray::isIntArray):
9616        * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
9617        (WebCore::WebGLIntegralTypedArrayBase::set):
9618        (WebCore::WebGLIntegralTypedArrayBase::item):
9619        (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
9620        * html/canvas/WebGLShortArray.cpp:
9621        (WebCore::WebGLShortArray::create):
9622        (WebCore::WebGLShortArray::WebGLShortArray):
9623        (WebCore::WebGLShortArray::slice):
9624        * html/canvas/WebGLShortArray.h:
9625        (WebCore::WebGLShortArray::isShortArray):
9626        * html/canvas/WebGLTypedArrayBase.h: Added.
9627        (WebCore::WebGLTypedArrayBase::data):
9628        (WebCore::WebGLTypedArrayBase::set):
9629        (WebCore::WebGLTypedArrayBase::length):
9630        (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
9631        (WebCore::WebGLTypedArrayBase::create):
9632        (WebCore::WebGLTypedArrayBase::sliceImpl):
9633        (WebCore::WebGLTypedArrayBase::byteLength):
9634        * html/canvas/WebGLUnsignedByteArray.cpp:
9635        (WebCore::WebGLUnsignedByteArray::create):
9636        (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
9637        (WebCore::WebGLUnsignedByteArray::slice):
9638        * html/canvas/WebGLUnsignedByteArray.h:
9639        (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
9640        * html/canvas/WebGLUnsignedIntArray.cpp:
9641        (WebCore::WebGLUnsignedIntArray::create):
9642        (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
9643        (WebCore::WebGLUnsignedIntArray::slice):
9644        * html/canvas/WebGLUnsignedIntArray.h:
9645        (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
9646        * html/canvas/WebGLUnsignedShortArray.cpp:
9647        (WebCore::WebGLUnsignedShortArray::create):
9648        (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
9649        (WebCore::WebGLUnsignedShortArray::slice):
9650        * html/canvas/WebGLUnsignedShortArray.h:
9651        (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
9652
96532010-05-10  Kenneth Russell  <kbr@google.com>
9654
9655        Reviewed by Dimitri Glazkov.
9656
9657        Refactor WebGLArray types to share more code
9658        https://bugs.webkit.org/show_bug.cgi?id=37712
9659
9660        Refactored WebGLArray types for maximal code sharing. Added
9661        WebGLTypedArrayBase and WebGLIntegralTypedArrayBase template
9662        superclasses. Changed overridden virtuals to have minimal
9663        visibility (private instead of public). Fixed const correctness of
9664        a few methods. There are no changes to the public APIs of the
9665        WebGLArray classes; the JavaScript bindings are unchanged.
9666
9667        No new tests; existing tests cover this functionality. Ran all
9668        WebGL layout tests in Safari and Chromium on Mac OS X.
9669
9670        * WebCore.gypi:
9671        * WebCore.xcodeproj/project.pbxproj:
9672        * html/canvas/WebGLArray.h:
9673        (WebCore::WebGLArray::buffer):
9674        (WebCore::WebGLArray::baseAddress):
9675        (WebCore::WebGLArray::byteOffset):
9676        * html/canvas/WebGLByteArray.cpp:
9677        (WebCore::WebGLByteArray::create):
9678        (WebCore::WebGLByteArray::WebGLByteArray):
9679        (WebCore::WebGLByteArray::slice):
9680        * html/canvas/WebGLByteArray.h:
9681        (WebCore::WebGLByteArray::isByteArray):
9682        * html/canvas/WebGLFloatArray.cpp:
9683        (WebCore::WebGLFloatArray::create):
9684        (WebCore::WebGLFloatArray::WebGLFloatArray):
9685        (WebCore::WebGLFloatArray::slice):
9686        * html/canvas/WebGLFloatArray.h:
9687        (WebCore::WebGLFloatArray::set):
9688        (WebCore::WebGLFloatArray::item):
9689        (WebCore::WebGLFloatArray::isFloatArray):
9690        * html/canvas/WebGLIntArray.cpp:
9691        (WebCore::WebGLIntArray::create):
9692        (WebCore::WebGLIntArray::WebGLIntArray):
9693        (WebCore::WebGLIntArray::slice):
9694        * html/canvas/WebGLIntArray.h:
9695        (WebCore::WebGLIntArray::isIntArray):
9696        * html/canvas/WebGLIntegralTypedArrayBase.h: Added.
9697        (WebCore::WebGLIntegralTypedArrayBase::set):
9698        (WebCore::WebGLIntegralTypedArrayBase::item):
9699        (WebCore::WebGLIntegralTypedArrayBase::WebGLIntegralTypedArrayBase):
9700        * html/canvas/WebGLShortArray.cpp:
9701        (WebCore::WebGLShortArray::create):
9702        (WebCore::WebGLShortArray::WebGLShortArray):
9703        (WebCore::WebGLShortArray::slice):
9704        * html/canvas/WebGLShortArray.h:
9705        (WebCore::WebGLShortArray::isShortArray):
9706        * html/canvas/WebGLTypedArrayBase.h: Added.
9707        (WebCore::WebGLTypedArrayBase::data):
9708        (WebCore::WebGLTypedArrayBase::set):
9709        (WebCore::WebGLTypedArrayBase::length):
9710        (WebCore::WebGLTypedArrayBase::WebGLTypedArrayBase):
9711        (WebCore::WebGLTypedArrayBase::create):
9712        (WebCore::WebGLTypedArrayBase::sliceImpl):
9713        (WebCore::WebGLTypedArrayBase::byteLength):
9714        * html/canvas/WebGLUnsignedByteArray.cpp:
9715        (WebCore::WebGLUnsignedByteArray::create):
9716        (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
9717        (WebCore::WebGLUnsignedByteArray::slice):
9718        * html/canvas/WebGLUnsignedByteArray.h:
9719        (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
9720        * html/canvas/WebGLUnsignedIntArray.cpp:
9721        (WebCore::WebGLUnsignedIntArray::create):
9722        (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
9723        (WebCore::WebGLUnsignedIntArray::slice):
9724        * html/canvas/WebGLUnsignedIntArray.h:
9725        (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
9726        * html/canvas/WebGLUnsignedShortArray.cpp:
9727        (WebCore::WebGLUnsignedShortArray::create):
9728        (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
9729        (WebCore::WebGLUnsignedShortArray::slice):
9730        * html/canvas/WebGLUnsignedShortArray.h:
9731        (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
9732
97332010-05-10  Brent Fulgham  <bfulgham@webkit.org>
9734
9735        Build fix, not reviewed.
9736
9737        Correct post-build copy command for WinCairo port to make sure
9738        cairo headers are available for WebKit.dll build.
9739
9740        * WebCore.vcproj/WebCore.vcproj:
9741
97422010-05-10  Dirk Schulze  <krit@webkit.org>
9743
9744        Reviewed by Nikolas Zimmermann.
9745
9746        Further optimization for SVG's repaintRect calculation
9747        https://bugs.webkit.org/show_bug.cgi?id=38820
9748        
9749        This is a further optimization to get smaller repaintRects on SVG objects
9750        in combination with masker or clipper resources.
9751        Masker takes the unite of all stroke boundaries of it's childs.
9752        Both, clipper and masker, store this union to avoid multiple calls of the childs
9753        and the unite calculations now.
9754        The unite rect can be transformed to any targets objectBoundingBox, if the content
9755        unit of the resource is set to objectBoundingBoxMode.
9756        This speeds up the use of resources with multiple target objects.
9757        
9758        No behavior changes, the smaller repaintRects cause updates for DRT results.
9759
9760        * rendering/RenderSVGResource.h:
9761        * rendering/RenderSVGResourceClipper.cpp:
9762        (WebCore::RenderSVGResourceClipper::invalidateClients):
9763        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
9764        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
9765        * rendering/RenderSVGResourceClipper.h:
9766        * rendering/RenderSVGResourceFilter.cpp:
9767        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
9768        * rendering/RenderSVGResourceFilter.h:
9769        * rendering/RenderSVGResourceGradient.h:
9770        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
9771        * rendering/RenderSVGResourceMarker.h:
9772        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
9773        * rendering/RenderSVGResourceMasker.cpp:
9774        (WebCore::RenderSVGResourceMasker::invalidateClients):
9775        (WebCore::RenderSVGResourceMasker::createMaskImage):
9776        (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
9777        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
9778        * rendering/RenderSVGResourceMasker.h:
9779        * rendering/RenderSVGResourcePattern.h:
9780        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
9781        * rendering/RenderSVGResourceSolidColor.h:
9782        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
9783
97842010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
9785
9786        Reviewed by Pavel Feldman.
9787
9788        WebInspector: Cosmetic changes.
9789        1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
9790        2) Standard tooltips for resource links are clashing with Popover.
9791        3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
9792        https://bugs.webkit.org/show_bug.cgi?id=38732
9793
9794        * inspector/front-end/TimelinePanel.js:
9795        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
9796        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
9797        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
9798        * inspector/front-end/inspector.js:
9799        (WebInspector.linkifyURLAsNode):
9800
98012010-05-10  Csaba Osztrogonác  <ossy@webkit.org>
9802
9803        Rubber-stamped by Simon Hausmann.
9804
9805        [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
9806        haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.
9807
9808        https://bugs.webkit.org/show_bug.cgi?id=32967
9809
9810        * platform/network/qt/ResourceRequestQt.cpp:
9811        (WebCore::ResourceRequest::toNetworkRequest):
9812
98132010-05-10  Markus Goetz  <Markus.Goetz@nokia.com>
9814
9815        Reviewed by Simon Hausmann.
9816
9817        Qt after 4.6.3 has its integrated DNS cache. Therefore some
9818        code is not necessary anymore.
9819
9820        https://bugs.webkit.org/show_bug.cgi?id=38834
9821
9822        * platform/network/qt/DnsPrefetchHelper.h:
9823        (WebCore::DnsPrefetchHelper::lookup):
9824        (WebCore::DnsPrefetchHelper::lookedUp):
9825
98262010-05-10  Chris Jerdonek  <cjerdonek@webkit.org>
9827
9828        Reviewed by Darin Adler.
9829
9830        Asserted that Node::setDocument() is not being used to change
9831        the document of a node.
9832
9833        https://bugs.webkit.org/show_bug.cgi?id=38821
9834
9835        * dom/Node.cpp:
9836        (WebCore::Node::setDocument):
9837          Added an ASSERT at the beginning of the function.
9838        * dom/Node.h:
9839          Documented that Node::setDocument() should not be used to change the
9840          document of a node until after the node has been removed from its
9841          prior document.
9842
98432010-05-10  Dirk Schulze  <krit@webkit.org>
9844
9845        Reviewed by Darin Adler.
9846
9847        SVG FilterEffects need more detailed DRT information
9848        https://bugs.webkit.org/show_bug.cgi?id=38683
9849
9850        All SVG Filter effects get dumped now. The structure of the DRT output
9851        changed. The last effect is shown first, followed by the previous effects.
9852
9853        No changed behaior, so no new test added.
9854
9855        * platform/graphics/filters/FEBlend.cpp:
9856        (WebCore::operator<<):
9857        (WebCore::FEBlend::externalRepresentation):
9858        * platform/graphics/filters/FEBlend.h:
9859        * platform/graphics/filters/FEColorMatrix.cpp:
9860        (WebCore::operator<<):
9861        (WebCore::FEColorMatrix::externalRepresentation):
9862        * platform/graphics/filters/FEColorMatrix.h:
9863        * platform/graphics/filters/FEComponentTransfer.cpp:
9864        (WebCore::operator<<):
9865        (WebCore::FEComponentTransfer::externalRepresentation):
9866        * platform/graphics/filters/FEComponentTransfer.h:
9867        * platform/graphics/filters/FEComposite.cpp:
9868        (WebCore::operator<<):
9869        (WebCore::FEComposite::externalRepresentation):
9870        * platform/graphics/filters/FEComposite.h:
9871        (WebCore::):
9872        (WebCore::FEComposite::uniteChildEffectSubregions):
9873        * platform/graphics/filters/FEGaussianBlur.cpp:
9874        (WebCore::FEGaussianBlur::externalRepresentation):
9875        * platform/graphics/filters/FEGaussianBlur.h:
9876        (WebCore::FEGaussianBlur::uniteChildEffectSubregions):
9877        * platform/graphics/filters/FilterEffect.cpp:
9878        (WebCore::FilterEffect::externalRepresentation):
9879        * platform/graphics/filters/FilterEffect.h:
9880        * platform/graphics/filters/SourceAlpha.cpp:
9881        (WebCore::SourceAlpha::externalRepresentation):
9882        * platform/graphics/filters/SourceAlpha.h:
9883        * platform/graphics/filters/SourceGraphic.cpp:
9884        (WebCore::SourceGraphic::externalRepresentation):
9885        * platform/graphics/filters/SourceGraphic.h:
9886        * rendering/RenderTreeAsText.cpp:
9887        (WebCore::writeIndent):
9888        * rendering/RenderTreeAsText.h:
9889        * rendering/SVGRenderTreeAsText.cpp:
9890        (WebCore::writeSVGResourceContainer):
9891        * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
9892        (WebCore::operator<<):
9893        (WebCore::FEConvolveMatrix::externalRepresentation):
9894        * svg/graphics/filters/SVGFEConvolveMatrix.h:
9895        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
9896        (WebCore::FEDiffuseLighting::externalRepresentation):
9897        * svg/graphics/filters/SVGFEDiffuseLighting.h:
9898        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
9899        (WebCore::operator<<):
9900        (WebCore::FEDisplacementMap::externalRepresentation):
9901        * svg/graphics/filters/SVGFEDisplacementMap.h:
9902        * svg/graphics/filters/SVGFEFlood.cpp:
9903        (WebCore::FEFlood::externalRepresentation):
9904        * svg/graphics/filters/SVGFEFlood.h:
9905        * svg/graphics/filters/SVGFEImage.cpp:
9906        (WebCore::FEImage::externalRepresentation):
9907        * svg/graphics/filters/SVGFEImage.h:
9908        * svg/graphics/filters/SVGFEMerge.cpp:
9909        (WebCore::FEMerge::externalRepresentation):
9910        * svg/graphics/filters/SVGFEMerge.h:
9911        * svg/graphics/filters/SVGFEMorphology.cpp:
9912        (WebCore::operator<<):
9913        (WebCore::FEMorphology::externalRepresentation):
9914        * svg/graphics/filters/SVGFEMorphology.h:
9915        * svg/graphics/filters/SVGFEOffset.cpp:
9916        (WebCore::FEOffset::externalRepresentation):
9917        * svg/graphics/filters/SVGFEOffset.h:
9918        * svg/graphics/filters/SVGFESpecularLighting.cpp:
9919        (WebCore::FESpecularLighting::externalRepresentation):
9920        * svg/graphics/filters/SVGFESpecularLighting.h:
9921        * svg/graphics/filters/SVGFETile.cpp:
9922        (WebCore::FETile::externalRepresentation):
9923        * svg/graphics/filters/SVGFETile.h:
9924        * svg/graphics/filters/SVGFETurbulence.cpp:
9925        (WebCore::operator<<):
9926        (WebCore::FETurbulence::externalRepresentation):
9927        * svg/graphics/filters/SVGFETurbulence.h:
9928
99292010-05-10  Jeremy Orlow  <jorlow@chromium.org>
9930
9931        Reviewed by Nate Chapin.
9932
9933        Change IndexedDB to use events instead of callbacks
9934        https://bugs.webkit.org/show_bug.cgi?id=38594
9935
9936        Switch IndexedDB over to an event based model to match what
9937        Mozilla (and probably MS?) are doing.  This also gets rid of
9938        a lot of template mess at the expense of a little extra boiler
9939        plate code (for each type that IDBResult.result could be).
9940
9941        This change also introduces JSC bindings that match the level of
9942        functionality the V8 bindings have.
9943
9944        Still not testable, but that shoudl change shortly.
9945
9946        * DerivedSources.cpp:
9947        * DerivedSources.make:
9948        * GNUmakefile.am:
9949        * WebCore.gypi:
9950        * WebCore.pri:
9951        * WebCore.pro:
9952        * WebCore.vcproj/WebCore.vcproj:
9953        * WebCore.xcodeproj/project.pbxproj:
9954        * bindings/js/JSEventCustom.cpp:
9955        * bindings/js/JSIDBRequestCustom.cpp: Added.
9956        (WebCore::JSIDBRequest::result):
9957        * bindings/v8/V8DOMWrapper.cpp:
9958        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
9959        * bindings/v8/custom/V8CustomIDBCallbacks.h: Removed.
9960        * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
9961        (WebCore::V8IDBRequest::resultAccessorGetter):
9962        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp: Removed.
9963        * dom/EventTarget.cpp:
9964        (WebCore::EventTarget::toIDBRequest):
9965        * dom/EventTarget.h:
9966        * storage/IDBCallbacks.h:
9967        * storage/IDBDatabaseRequest.h:
9968        (WebCore::IDBDatabaseRequest::createObjectStore):
9969        * storage/IDBRequest.cpp: Added.
9970        (WebCore::IDBRequest::IDBRequest):
9971        (WebCore::IDBRequest::~IDBRequest):
9972        (WebCore::IDBRequest::idbDatabaseResult):
9973        (WebCore::IDBRequest::serializedScriptValueResult):
9974        (WebCore::IDBRequest::onError):
9975        (WebCore::IDBRequest::onSuccess):
9976        (WebCore::IDBRequest::abort):
9977        (WebCore::IDBRequest::scriptExecutionContext):
9978        (WebCore::IDBRequest::stop):
9979        (WebCore::IDBRequest::suspend):
9980        (WebCore::IDBRequest::resume):
9981        (WebCore::IDBRequest::eventTargetData):
9982        (WebCore::IDBRequest::ensureEventTargetData):
9983        (WebCore::IDBRequest::timerFired):
9984        (WebCore::IDBRequest::onEventCommon):
9985        * storage/IDBRequest.h: Added.
9986        (WebCore::IDBRequest::create):
9987        (WebCore::IDBRequest::):
9988        (WebCore::IDBRequest::resultType):
9989        (WebCore::IDBRequest::readyState):
9990        (WebCore::IDBRequest::error):
9991        (WebCore::IDBRequest::toIDBRequest):
9992        (WebCore::IDBRequest::refEventTarget):
9993        (WebCore::IDBRequest::derefEventTarget):
9994        * storage/IDBRequest.idl: Added.
9995        * storage/IndexedDatabase.h:
9996        * storage/IndexedDatabaseImpl.cpp:
9997        (WebCore::IndexedDatabaseImpl::open):
9998        * storage/IndexedDatabaseImpl.h:
9999        * storage/IndexedDatabaseRequest.cpp:
10000        (WebCore::IndexedDatabaseRequest::open):
10001        * storage/IndexedDatabaseRequest.h:
10002        * storage/IndexedDatabaseRequest.idl:
10003
100042010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
10005
10006        Not reviewed: rollback the commit r59062
10007
10008        * inspector/front-end/TimelinePanel.js:
10009        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
10010        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
10011        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
10012        * inspector/front-end/inspector.js:
10013        (WebInspector.linkifyURLAsNode):
10014
100152010-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
10016
10017        Reviewed by Pavel Feldman.
10018
10019        WebInspector: Cosmetic changes.
10020        1) Inner Function Call event of Timer Fire should be merged into parent even if it is not the only child.
10021        2) Standard tooltips for resource links are clashing with Popover.
10022        3) Recalculate Style caller info are duplicating in Details Popover (Caller and Details rows).
10023        https://bugs.webkit.org/show_bug.cgi?id=38732
10024
10025        * inspector/front-end/TimelinePanel.js:
10026        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
10027        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
10028        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
10029        * inspector/front-end/inspector.js:
10030        (WebInspector.linkifyURLAsNode):
10031
100322010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10033
10034        Reviewed by Pavel Feldman.
10035
10036        WebInspector: If some record is not in visible area then it's expand element also is not
10037        visible even if it has children in visible area.
10038        https://bugs.webkit.org/show_bug.cgi?id=38643
10039
10040        * inspector/front-end/TimelinePanel.js:
10041        (WebInspector.TimelinePanel):
10042        (WebInspector.TimelinePanel.prototype._refreshRecords):
10043
100442010-05-07  Sam Weinig  <sam@webkit.org>
10045
10046        Reviewed by Darin Adler.
10047
10048        Fix for https://bugs.webkit.org/show_bug.cgi?id=38557
10049        r58526 introduced a ~30% regression on Dromaeo JS lib
10050
10051        This fix does two things.
10052        - Don't use QualifiedName as the key to a HashMap, use a
10053          RefPtr<QualifiedNameImpl> instead.  We should remove the HashTraits for
10054          QualifiedName and that will happen in a follow up patch.
10055        - Only mark cached NodeLists on Documents instead of all Nodes. This is
10056          okay since the marking of NodeLists is an optimization to keep NodeList
10057          wrappers alive and is not mandated by any spec.
10058
10059        * bindings/js/JSDocumentCustom.cpp:
10060        (WebCore::JSDocument::markChildren):
10061        * bindings/js/JSNodeCustom.cpp:
10062        (WebCore::JSNode::markChildren):
10063        * dom/Node.cpp:
10064        (WebCore::Node::removeCachedTagNodeList):
10065        (WebCore::Node::getElementsByTagNameNS):
10066        * dom/NodeRareData.h:
10067
100682010-05-08  Antonio Gomes  <tonikitoo@webkit.org>
10069
10070        Unreviewed attempt to fix Windows build.
10071
10072        * page/SpatialNavigation.h:
10073        (WebCore::fudgeFactor):
10074
100752010-05-03  Antonio Gomes  <tonikitoo@webkit.org>
10076
10077        Reviewed by Kenneth Christiansen.
10078
10079        Spatial Navigation: create a getter for the "fudgeFactor"
10080        https://bugs.webkit.org/show_bug.cgi?id=38488
10081
10082        A couple of places in the Spatial Navigation code make use of a "fudge factor"
10083        to improve precision by working around outline focus metrics and such. Patch adds
10084        a helper method for unify getter operations of this value, instead of having it
10085        declared locally in the various methods it is used.
10086
10087        No behaviour change.
10088
10089        * page/SpatialNavigation.cpp:
10090        (WebCore::scrollIntoView):
10091        (WebCore::deflateIfOverlapped):
10092        * page/SpatialNavigation.h:
10093        (WebCore::fudgeFactor):
10094
100952010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
10096
10097        Reviewed by Darin Adler.
10098
10099        Change the npapi.h header guards to match the npapi-headers repository
10100        copy.
10101
10102        https://bugs.webkit.org/show_bug.cgi?id=38666
10103
10104        * bridge/npapi.h:
10105
101062010-05-08  Stuart Morgan  <stuartmorgan@chromium.org>
10107
10108        Reviewed by Darin Fisher.
10109
10110        Resolve most of the whitespace/comment/order differences in npapi.h
10111        and npruntime.h relative to the npapi-headers repository versions.
10112        No changes to the substance of the code.
10113
10114        https://bugs.webkit.org/show_bug.cgi?id=38666
10115
10116        * bridge/npapi.h:
10117        (_NPPrint::):
10118        (_NPCocoaEvent::):
10119        * bridge/npruntime.h:
10120
101212010-05-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
10122
10123        Reviewed by Darin Adler.
10124
10125        Fix guard around IndexedDatabase
10126        https://bugs.webkit.org/show_bug.cgi?id=38710
10127
10128        No new tests, there is no new functionality.
10129
10130        * page/PageGroup.h:
10131
101322010-05-08  Luiz Agostini  <luiz.agostini@openbossa.org>
10133
10134        Reviewed by Simon Hausmann.
10135
10136        [Qt] Platform plugin
10137        https://bugs.webkit.org/show_bug.cgi?id=38438
10138
10139        Select popups delegate private API. To provide select popup delegates
10140        a plugin that implements QWebKitPlatformPlugin must be found
10141        in QCoreApplication::libraryPaths.
10142
10143        * WebCore.pro:
10144
101452010-05-08  Leandro Pereira  <leandro@profusion.mobi>
10146
10147        Reviewed by Gustavo Noronha Silva.
10148
10149        [EFL] It does not make sense to use RenderThemeEfl::RenderThemeEfl, so
10150        use RenderThemeEfl (GCC 4.5 seems to be pickier about this).
10151        http://webkit.org/b/38770
10152
10153        * platform/efl/RenderThemeEfl.cpp:
10154        (WebCore::renderThemeEflColorClassSelectionActive):
10155        (WebCore::renderThemeEflColorClassSelectionInactive):
10156        (WebCore::renderThemeEflColorClassFocusRing):
10157        (WebCore::renderThemeEflColorClassButtonText):
10158        (WebCore::renderThemeEflColorClassComboText):
10159        (WebCore::renderThemeEflColorClassEntryText):
10160        (WebCore::renderThemeEflColorClassSearchText):
10161        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
10162        (WebCore::RenderThemeEfl::adjustRadioStyle):
10163        (WebCore::RenderThemeEfl::adjustButtonStyle):
10164        (WebCore::RenderThemeEfl::adjustMenuListStyle):
10165        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
10166        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
10167        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
10168        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
10169        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
10170        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
10171
101722010-05-08  Leandro Pereira  <leandro@profusion.mobi>
10173
10174        Reviewed by Gustavo Noronha Silva.
10175
10176        ResourceHandleSoup should depend only on GLib, not on GTK+.
10177        http://webkit.org/b/38763
10178
10179        * platform/network/soup/ResourceHandleSoup.cpp: Include glib.h
10180        instead of gtk/gtk.h.
10181
101822010-05-08  Eric Seidel  <eric@webkit.org>
10183
10184        Unreviewed, rolling out r59023.
10185        http://trac.webkit.org/changeset/59023
10186        https://bugs.webkit.org/show_bug.cgi?id=37874
10187
10188        Caused Chromium Windows build to fail to link.
10189
10190        * WebCore.gypi:
10191        * loader/CachedMetadata.h: Removed.
10192        * loader/CachedResource.cpp:
10193        * loader/CachedResource.h:
10194        * loader/ResourceLoader.h:
10195        * loader/SubresourceLoader.cpp:
10196        * loader/SubresourceLoader.h:
10197        * loader/SubresourceLoaderClient.h:
10198        * loader/loader.cpp:
10199        * loader/loader.h:
10200        * platform/network/ResourceHandle.cpp:
10201        * platform/network/ResourceHandle.h:
10202        * platform/network/ResourceHandleClient.h:
10203
102042010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10205
10206        Reviewed by Timothy Hatcher.
10207
10208        WebInspector: Autocompletion in console is not usable because it is not add to the entered text the common prefix of suggestions.
10209        As example if you entered $0.getE then getElementByClassName will be suggested as gray text.
10210        If you press tab then getElementByClassName be suggested again and lementByClassName becomes selected as black text with selection background.
10211        Really after pressing the TAB the next suggestion should be selected (getElementByTagName) and only flexible part of suggestions should be selected.
10212        In this case it should be TagName because getElementBy is the common part for all getE prefix suggestions.
10213        https://bugs.webkit.org/show_bug.cgi?id=38753
10214
10215        * inspector/front-end/TextPrompt.js:
10216        (WebInspector.TextPrompt.prototype._completionsReady):
10217
102182010-05-08  Tony Gentilcore  <tonyg@chromium.org>
10219
10220        Reviewed by Darin Fisher.
10221
10222        Provide mechanism to store cached metadata on a CachedResource.
10223        https://bugs.webkit.org/show_bug.cgi?id=37874
10224
10225        No new tests because no new functionality.
10226
10227        * WebCore.gypi:
10228        * loader/CachedMetadata.h: Added.
10229        (WebCore::CachedMetadata::~CachedMetadata):
10230        (WebCore::CachedMetadata::data):
10231        (WebCore::CachedMetadata::size):
10232        (WebCore::CachedMetadata::create):
10233        (WebCore::CachedMetadata::deserialize):
10234        (WebCore::CachedMetadata::serialize):
10235        (WebCore::CachedMetadata::dataTypeID):
10236        (WebCore::CachedMetadata::readUnsigned):
10237        (WebCore::CachedMetadata::appendUnsigned):
10238        (WebCore::CachedMetadata::CachedMetadata):
10239        * loader/CachedResource.cpp:
10240        (WebCore::CachedResource::setSerializedCachedMetadata):
10241        (WebCore::CachedResource::setCachedMetadata):
10242        (WebCore::CachedResource::cachedMetadata):
10243        * loader/CachedResource.h:
10244        * loader/ResourceLoader.h:
10245        (WebCore::ResourceLoader::didReceiveCachedMetadata):
10246        * loader/SubresourceLoader.cpp:
10247        (WebCore::SubresourceLoader::didReceiveCachedMetadata):
10248        * loader/SubresourceLoader.h:
10249        * loader/SubresourceLoaderClient.h:
10250        (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
10251        * loader/loader.cpp:
10252        (WebCore::Loader::Host::didReceiveCachedMetadata):
10253        * loader/loader.h:
10254        * platform/network/ResourceHandle.cpp:
10255        (WebCore::ResourceHandle::cacheMetadata):
10256        * platform/network/ResourceHandle.h:
10257        * platform/network/ResourceHandleClient.h:
10258        (WebCore::ResourceHandleClient::didReceiveCachedMetadata):
10259
102602010-05-08  Michael Nordman  <michaeln@google.com>
10261
10262        Reviewed by Dmitry Titov.
10263
10264        Have WorkerScriptLoader provide access to the ResourceResponse for the loaded script
10265        through the WorkerScriptLoaderClient interface.
10266        https://bugs.webkit.org/show_bug.cgi?id=38605
10267
10268        No new tests. There are no script visible changes.
10269
10270        * workers/WorkerScriptLoader.cpp: Call the client with the response.
10271        (WebCore::WorkerScriptLoader::didReceiveResponse):
10272        * workers/WorkerScriptLoaderClient.h: Define a new method to receive the response.
10273        (WebCore::WorkerScriptLoaderClient::didReceiveResponse):
10274
102752010-05-08  Robert Hogan  <robert@roberthogan.net>
10276
10277        Reviewed by Simon Hausmann.
10278
10279        [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
10280             and http/tests/xmlhttprequest/cross-origin-authorization.html
10281
10282        QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
10283        without knowing if this is valid behaviour or not. In order to allow
10284        Qt to decide whether Cookie/Authorization headers should be added
10285        to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
10286        These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
10287        QNetworkRequest::CookieSaveControlAttribute,and
10288        QNetworkRequest::AuthenticationReuseControlAttribute.
10289
10290        QtWebKit will set QNetworkRequest::AuthenticationReuseControlAttribute to false
10291        unless withCredentials is set to true in the XHR.
10292
10293        QtWebkit will set CookieLoad/SaveControlAttribute to false unless withCredentials
10294        is set to true in the XHR.
10295
10296        Qt will pass the values onto QHttpNetworkRequest and this will permit
10297        the Qt network access processing to decide whether or not to add either
10298        or both of the Cookie/Authorisation headers, and whether to save cookies
10299        returned from such requests. By default the attribute
10300        will always be true so unless QtWebKit sets it to false normal
10301        header processing is unaffected.
10302
10303        The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592
10304
10305        https://bugs.webkit.org/show_bug.cgi?id=32967
10306
10307        * platform/network/qt/ResourceRequestQt.cpp:
10308        (WebCore::ResourceRequest::toNetworkRequest):
10309
103102010-05-08  Ilya Tikhonovsky  <loislo@chromium.org>
10311
10312        Reviewed by Pavel Feldman.
10313
10314        WebInsector: Record expand UI element should be extracted from TimelineRecordGraphRow as separate class for future reuse.
10315        https://bugs.webkit.org/show_bug.cgi?id=38726
10316
10317        * inspector/front-end/TimelinePanel.js:
10318        (WebInspector.TimelinePanel):
10319        (WebInspector.TimelinePanel.prototype._refreshRecords):
10320        (WebInspector.TimelineRecordGraphRow):
10321        (WebInspector.TimelineRecordGraphRow.prototype.update):
10322        (WebInspector.TimelineExpandableElement):
10323        (WebInspector.TimelineExpandableElement.prototype._update):
10324        (WebInspector.TimelineExpandableElement.prototype._dispose):
10325
103262010-05-05  Robert Hogan  <robert@webkit.org>
10327
10328        Reviewed by Alexey Proskuryakov.
10329
10330        [Qt] Fix encoding of status message in Plugin API
10331
10332        https://bugs.webkit.org/show_bug.cgi?id=35144
10333
10334        Spotted by Alexey Proskuryakov.
10335
10336        * plugins/PluginView.cpp:
10337        (WebCore::PluginView::status):
10338
103392010-05-08  Dirk Schulze  <krit@webkit.org>
10340
10341        Unreviewed win build fix.
10342
10343        JS bindings were missing in DerivedSources.cpp
10344
10345        * DerivedSources.cpp:
10346
103472010-05-08  Dirk Schulze  <krit@webkit.org>
10348
10349        Uneviewed fix of Win bot
10350
10351        Added JS bindings to Win build system.
10352
10353        * WebCore.vcproj/WebCore.vcproj:
10354
103552010-05-08  Dirk Schulze  <krit@webkit.org>
10356
10357        Unreviewed try to fix Win bot.
10358
10359        SVGFont's VKern implementation missing
10360        https://bugs.webkit.org/show_bug.cgi?id=38663
10361
10362        * bindings/scripts/CodeGeneratorJS.pm:
10363
103642010-05-08  Dirk Schulze  <krit@webkit.org>
10365
10366        Reviewed by Nikolas Zimmermann.
10367
10368        SVGFont's VKern implementation missing
10369        https://bugs.webkit.org/show_bug.cgi?id=38663
10370
10371        Implementation of vkern, needed by SVGFont. Also added DOM and JS bindings
10372        for vkern and hkern. Made some clean-up in SVGParserUtilities and SVGFontElement.
10373        SVGHKernElement and SVGVKernElement share most of the code now.
10374
10375        Test: svg/text/text-vkern.svg
10376
10377        * Android.derived.jscbindings.mk:
10378        * Android.derived.v8bindings.mk:
10379        * Android.mk:
10380        * DerivedSources.make:
10381        * GNUmakefile.am:
10382        * WebCore.gyp/WebCore.gyp:
10383        * WebCore.gypi:
10384        * WebCore.pri:
10385        * WebCore.pro:
10386        * WebCore.vcproj/WebCore.vcproj:
10387        * WebCore.xcodeproj/project.pbxproj:
10388        * page/DOMWindow.idl:
10389        * rendering/SVGRootInlineBox.cpp:
10390        (WebCore::applySVGKerning):
10391        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
10392        * svg/SVGAllInOne.cpp:
10393        * svg/SVGFontElement.cpp:
10394        (WebCore::SVGFontElement::invalidateGlyphCache):
10395        (WebCore::SVGFontElement::ensureGlyphCache):
10396        (WebCore::matches):
10397        (WebCore::kerningForPairOfStringsAndGlyphs):
10398        (WebCore::SVGFontElement::horizontalKerningForPairOfStringsAndGlyphs):
10399        (WebCore::SVGFontElement::verticalKerningForPairOfStringsAndGlyphs):
10400        * svg/SVGFontElement.h:
10401        (WebCore::SVGKerningPair::SVGKerningPair):
10402        (WebCore::SVGFontElement::rendererIsNeeded):
10403        * svg/SVGHKernElement.cpp:
10404        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
10405        * svg/SVGHKernElement.h:
10406        * svg/SVGParserUtilities.cpp:
10407        (WebCore::parseGlyphName):
10408        (WebCore::parseKerningUnicodeString):
10409        * svg/SVGParserUtilities.h:
10410        * svg/SVGVKernElement.cpp: Added.
10411        (WebCore::SVGVKernElement::SVGVKernElement):
10412        (WebCore::SVGVKernElement::~SVGVKernElement):
10413        (WebCore::SVGVKernElement::insertedIntoDocument):
10414        (WebCore::SVGVKernElement::removedFromDocument):
10415        (WebCore::SVGVKernElement::buildVerticalKerningPair):
10416        * svg/SVGVKernElement.h: Added.
10417        (WebCore::SVGVKernElement::rendererIsNeeded):
10418        * svg/SVGVKernElement.idl: Added.
10419        * svg/svgtags.in:
10420
104212010-05-08  Jer Noble  <jer.noble@apple.com>
10422
10423        Unreviewed, just fixing windows build.
10424
10425        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Add #if USE(ACCELERATED_COMPOSITING) guards around GraphicsLayer areas of the code.  Include GraphicsLayer.h directly.
10426        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: As above.
10427        * platform/graphics/win/QTMovieVisualContext.cpp: Remove the #include of d3d9types.h.
10428
104292010-05-08  Eric Seidel  <eric@webkit.org>
10430
10431        Unreviewed, just reverting commit.
10432
10433        REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
10434        https://bugs.webkit.org/show_bug.cgi?id=38798
10435
10436        Test: fast/js/global-resolve-through-eval.html
10437
10438        * bindings/js/JSCallbackData.h:
10439        (WebCore::JSCallbackData::JSCallbackData):
10440        (WebCore::JSCallbackData::~JSCallbackData):
10441        (WebCore::DeleteCallbackDataTask::create):
10442        (WebCore::DeleteCallbackDataTask::performTask):
10443        (WebCore::DeleteCallbackDataTask::isCleanupTask):
10444        (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
10445        * bindings/js/JSCustomVoidCallback.cpp:
10446        (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
10447        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
10448        * bindings/js/JSCustomVoidCallback.h:
10449        * bindings/scripts/CodeGeneratorJS.pm:
10450        * bindings/scripts/test/JS/JSTestInterface.cpp:
10451        (WebCore::):
10452        * bindings/scripts/test/JS/JSTestObj.cpp:
10453        (WebCore::):
10454        * workers/WorkerThread.cpp:
10455        (WebCore::WorkerThreadShutdownFinishTask::performTask):
10456        (WebCore::WorkerThreadShutdownStartTask::performTask):
10457
104582010-05-07  Zoltan Herczeg  <zherczeg@webkit.org>
10459
10460        Reviewed by Dirk Schulze
10461
10462        Fixed the inverse function of f(x) = ((x + 0.055) / 1.055) ^ 2.4
10463        https://bugs.webkit.org/show_bug.cgi?id=38735
10464
10465        It is ((x ^ (1 / 2.4)) * 1.055) - 0.055
10466
10467        Chromium pixel tests cover the issue.
10468
10469        * platform/graphics/ImageBuffer.cpp:
10470        (WebCore::ImageBuffer::transformColorSpace):
10471
104722010-05-04  Jer Noble  <jer.noble@apple.com>
10473
10474        Reviewed by Eric Carlson
10475
10476        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10477        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10478        <rdar://problem/7569713>
10479
10480        The original functionality of QTMovieWin has been split between QTMovieGWorld, 
10481        and a new class: QTMovie.  QTMovie contains all the "controller" parts (changing
10482        the rate, seeking, etc) while QTMovieGWorld retains all the drawing code.  QTMovieGWorld
10483        now takes a QTMovie, and as such QTMovie is now retainable.  QTMovieGWorld registers
10484        itself as a client of QTMovie, so that it can receive load-state notifications,
10485        and thus QTMovie must now support multiple clients.  Movie tasking timer support
10486        has been moved into its own class (QTMovieTask) and will be addressed in a future 
10487        patch.  Most of the functions listed below only changed so much as their class name changed.
10488        
10489        * platform/graphics/win/QTMovie.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
10490        (QTMoviePrivate::QTMoviePrivate):
10491        (QTMoviePrivate::~QTMoviePrivate):
10492        (QTMoviePrivate::startTask):
10493        (QTMoviePrivate::endTask):
10494        (QTMoviePrivate::task):
10495        (QTMoviePrivate::createMovieController):
10496        (QTMovie::QTMovie):
10497        (QTMovie::~QTMovie):
10498        (QTMovie::addClient):
10499        (QTMovie::removeClient):
10500        (QTMovie::play):
10501        (QTMovie::pause):
10502        (QTMovie::rate):
10503        (QTMovie::setRate):
10504        (QTMovie::duration):
10505        (QTMovie::currentTime):
10506        (QTMovie::setCurrentTime):
10507        (QTMovie::setVolume):
10508        (QTMovie::setPreservesPitch):
10509        (QTMovie::dataSize):
10510        (QTMovie::maxTimeLoaded):
10511        (QTMovie::loadState):
10512        (QTMovie::getNaturalSize):
10513        (QTMovie::load):
10514        (QTMovie::disableUnsupportedTracks):
10515        (QTMovie::isDisabled):
10516        (QTMovie::setDisabled):
10517        (QTMovie::hasVideo):
10518        (QTMovie::hasAudio):
10519        (QTMovie::hasClosedCaptions):
10520        (QTMovie::setClosedCaptionsVisible):
10521        (QTMovie::countSupportedTypes):
10522        (QTMovie::getSupportedType):
10523        (QTMovie::initializeQuickTime):
10524        (QTMovie::getMovieHandle):
10525        * platform/graphics/win/QTMovie.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
10526        * platform/graphics/win/QTMovieGWorld.cpp: Copied from WebCore/platform/graphics/win/QTMovieWin.cpp.
10527        (QTMovieGWorldPrivate::QTMovieGWorldPrivate):
10528        (QTMovieGWorldPrivate::~QTMovieGWorldPrivate):
10529        (QTMovieGWorldPrivate::cacheMovieScale):
10530        (movieDrawingCompleteProc):
10531        (QTMovieGWorldPrivate::registerDrawingCallback):
10532        (QTMovieGWorldPrivate::unregisterDrawingCallback):
10533        (QTMovieGWorldPrivate::drawingComplete):
10534        (QTMovieGWorldPrivate::updateGWorld):
10535        (QTMovieGWorldPrivate::createGWorld):
10536        (QTMovieGWorldPrivate::clearGWorld):
10537        (QTMovieGWorldPrivate::setSize):
10538        (QTMovieGWorldPrivate::updateMovieSize):
10539        (QTMovieGWorldPrivate::deleteGWorld):
10540        (QTMovieGWorldPrivate::movieEnded):
10541        (QTMovieGWorldPrivate::movieLoadStateChanged):
10542        (QTMovieGWorldPrivate::movieTimeChanged):
10543        (QTMovieGWorld::QTMovieGWorld):
10544        (QTMovieGWorld::~QTMovieGWorld):
10545        (QTMovieGWorld::setSize):
10546        (QTMovieGWorld::setVisible):
10547        (QTMovieGWorld::getCurrentFrameInfo):
10548        (QTMovieGWorld::paint):
10549        (QTMovieGWorld::setDisabled):
10550        (QTMovieGWorld::isDisabled):
10551        (QTMovieGWorld::fullscreenWndProc):
10552        (QTMovieGWorld::enterFullscreen):
10553        (QTMovieGWorld::exitFullscreen):
10554        (QTMovieGWorld::setMovie):
10555        (QTMovieGWorld::movie):
10556        * platform/graphics/win/QTMovieGWorld.h: Copied from WebCore/platform/graphics/win/QTMovieWin.h.
10557        * platform/graphics/win/QTMovieTask.cpp: Added.
10558        (QTMovieTask::QTMovieTask):
10559        (QTMovieTask::~QTMovieTask):
10560        (QTMovieTask::sharedTask):
10561        (QTMovieTask::updateTaskTimer):
10562        (QTMovieTask::fireTaskClients):
10563        (QTMovieTask::addTaskClient):
10564        (QTMovieTask::removeTaskClient):
10565        (QTMovieTask::setTaskTimerFuncs):
10566        * platform/graphics/win/QTMovieTask.h: Added.
10567
105682010-05-04  Jer Noble  <jer.noble@apple.com>
10569
10570        Reviewed by Eric Carlson
10571
10572        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10573        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10574        <rdar://problem/7569713>
10575
10576        MediaPlayerPrivateQuickTimeVisualContext has been added as a 
10577        supported MediaPlayer implementation.  MediaPlayerPrivateQuickTimeWin
10578        has been left as a fallback MediaPlayer implementation for those media
10579        types which do not support visual contexts (currently, none).
10580
10581        * platform/graphics/MediaPlayer.cpp:
10582        (WebCore::installedMediaEngines):
10583
105842010-05-04  Jer Noble  <jer.noble@apple.com>
10585
10586        Reviewed by Maciej Stachowiak
10587
10588        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10589        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10590        <rdar://problem/7569713>
10591
10592        MediaPlayerPrivateTaskTimer has been broken out from MediaPlayerPrivateQuickTimeWin::TaskTimer
10593        so that multiple clients can share its implementation.  It works with the new 
10594        QTMovieTaskTimer to provide timer support to QTMovieTaskTimer clients.
10595        
10596        * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: Added.
10597        (WebCore::MediaPlayerPrivateTaskTimer::initialize):
10598        (WebCore::MediaPlayerPrivateTaskTimer::setDelay):
10599        (WebCore::MediaPlayerPrivateTaskTimer::stopTaskTimer):
10600        (WebCore::MediaPlayerPrivateTaskTimer::fired):
10601        * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: Added.
10602
106032010-05-04  Jer Noble  <jer.noble@apple.com>
10604
10605        Reviewed by Eric Carlson
10606
10607        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10608        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10609        <rdar://problem/7569713>
10610
10611        MediaPlayerPrivateQuickTimeVisualContext is a new MediaPlayerPrivate implementation
10612        which uses QTMovieVisualContext instead of QTMovieWin to render video frames. Much
10613        like MediaPlayerPrivateQuickTimeWin, MPPQTVisualContext breaks out QTMovie and 
10614        QTMovieVisualContext, and uses the newly shared MediaPlayerPrivateTaskTimer.  It also
10615        uses aggregation (in the form of friend classes) instead of multiple inheritence 
10616        to implement its various client callbacks, so as not to expose its own clients to
10617        the QTMovie classes.
10618
10619        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp.
10620        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: Copied from WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h.
10621
106222010-05-04  Jer Noble  <jer.noble@apple.com>
10623
10624        Reviewed by Maciej Stachowiak
10625
10626        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10627        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10628        <rdar://problem/7569713>
10629        
10630        MediaPlayerPrivateQuickTimeWin has been modified to support the new bifurcated 
10631        QTMovie/QTMovieWin classes.  It's private TaskTimer class has been broken out
10632        into a new top-level class (MediaPlayerPrivateTaskTimer) which will be addressed
10633        in a future patch. 
10634
10635        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
10636        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
10637        (WebCore::MediaPlayerPrivate::load):
10638        (WebCore::MediaPlayerPrivate::paused):
10639        (WebCore::MediaPlayerPrivate::setSize):
10640        (WebCore::MediaPlayerPrivate::setVisible):
10641        (WebCore::MediaPlayerPrivate::paint):
10642        (WebCore::mimeTypeCache):
10643        (WebCore::MediaPlayerPrivate::isAvailable):
10644        (WebCore::MediaPlayerPrivate::movieEnded):
10645        (WebCore::MediaPlayerPrivate::movieLoadStateChanged):
10646        (WebCore::MediaPlayerPrivate::movieTimeChanged):
10647        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
10648        (WebCore::MediaPlayerPrivate::paintContents):
10649        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
10650
106512010-05-04  Jer Noble  <jer.noble@apple.com>
10652
10653        Reviewed by Anders Carlsson
10654
10655        Safari pegs CPU and drops tons of frames using HTML5 Vimeo player
10656        <https://bugs.webkit.org/show_bug.cgi?id=34005>
10657        <rdar://problem/7569713>
10658
10659        QTCFDictionary defines functions which help serialize and unserialize
10660        CFDictionaries.  This is necessary because QuickTime links against a 
10661        non-debug CoreFoundation in our debug build, and passing non-debug 
10662        CFDictionaries to a debug CF will cause a crash.
10663        
10664        QTMovieTask is a new class containing the tasking functionality broken
10665        out from QTMovieWin.  This is necessary now that the tasking
10666        functionality is needed in multiple files/classes.
10667        
10668        QTPixelBuffer is a C++ wrapper for CVPixelBuffers, necessary because
10669        like the CF case above, QuickTime has its own implementation of CoreVideo
10670        and its CV types cannot be used with the AAS version of CoreVideo.
10671        
10672        QTMovieVisualContext is the new drawing implementation, parallel to 
10673        QTMovieWin.  It currently uses a software rendering path, but can be
10674        extended in the future to support hardware rendering.
10675        
10676        * platform/graphics/win/QTCFDictionary.cpp: Added.
10677        * platform/graphics/win/QTCFDictionary.h: Added.
10678        * platform/graphics/win/QTMovieTask.cpp: Added.
10679        * platform/graphics/win/QTMovieTask.h: Added.
10680        * platform/graphics/win/QTMovieVisualContext.cpp: Added.
10681        * platform/graphics/win/QTMovieVisualContext.h: Added.
10682        * platform/graphics/win/QTPixelBuffer.cpp: Added.
10683        * platform/graphics/win/QTPixelBuffer.h: Added.
10684
106852010-05-07  Eric Uhrhane  <ericu@chromium.org>
10686
10687        Reviewed by Dmitry Titov.
10688
10689        JSCallbackData is deleted on the Main thread, not the Context thread.
10690        https://bugs.webkit.org/show_bug.cgi?id=38623
10691
10692        No new tests; you'll only see a problem after the worker-access-to-DB
10693        code goes in.  Without this fix, the GTK bots assert, but it's
10694        timing-sensitive and not truly platform-specific.
10695
10696        * bindings/js/JSCallbackData.h:
10697        (WebCore::JSCallbackData::JSCallbackData):
10698        (WebCore::JSCallbackData::~JSCallbackData):
10699        Store the allocating thread, then assert that we're on it at deletion.
10700
10701        (WebCore::DeleteCallbackDataTask):
10702        This is the task that can get posted to the context thread for cleanup.
10703
10704        * bindings/js/JSCustomVoidCallback.cpp:
10705        * bindings/js/JSCustomVoidCallback.h:
10706        This callback isn't autogenerated, so we have to do the cleanup manually.
10707
10708        * bindings/scripts/CodeGeneratorJS.pm:
10709        Add the proper cleanup to all autogenerated callbacks.
10710
10711        * workers/WorkerThread.cpp:
10712        (WebCore::WorkerThreadShutdownFinishTask::performTask):
10713        (WebCore::WorkerThreadShutdownStartTask::performTask):
10714        WorkerContext::clearScript can't be called until the posted deletion tasks have completed; move the call from shutdown start to shutdown finish.
10715
107162010-05-07  Eric Seidel  <eric@webkit.org>
10717
10718        Reviewed by Adam Barth.
10719
10720        Fix JSC binding generation to match webkit style
10721        https://bugs.webkit.org/show_bug.cgi?id=38173
10722
10723        Add spaces around "|" to match webkit style.
10724
10725        * bindings/scripts/CodeGeneratorJS.pm:
10726        * bindings/scripts/test/JS/JSTestObj.cpp:
10727
107282010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
10729
10730        Reviewed by Brady Eidson.
10731
10732        Adding the IDL files for the sync DB API and the stubs for the JS and V8 bindings.
10733        https://bugs.webkit.org/show_bug.cgi?id=34994
10734
10735        * DerivedSources.cpp:
10736        * DerivedSources.make:
10737        * GNUmakefile.am:
10738        * WebCore.gypi:
10739        * WebCore.pri:
10740        * WebCore.pro:
10741        * WebCore.vcproj/WebCore.vcproj:
10742        * WebCore.xcodeproj/project.pbxproj:
10743        * bindings/js/JSBindingsAllInOne.cpp:
10744        * bindings/js/JSDatabaseSyncCustom.cpp: Added.
10745        (WebCore::JSDatabaseSync::changeVersion):
10746        (WebCore::createTransaction):
10747        (WebCore::JSDatabaseSync::transaction):
10748        (WebCore::JSDatabaseSync::readTransaction):
10749        * bindings/js/JSSQLTransactionSyncCustom.cpp: Added.
10750        (WebCore::JSSQLTransactionSync::executeSql):
10751        * bindings/js/JSWorkerContextCustom.cpp:
10752        (WebCore::JSWorkerContext::openDatabaseSync):
10753        * bindings/v8/custom/V8BindingMacros.h: Added.
10754        * bindings/v8/custom/V8DatabaseSyncCustom.cpp: Added.
10755        (WebCore::V8DatabaseSync::changeVersionCallback):
10756        (WebCore::createTransaction):
10757        (WebCore::V8DatabaseSync::transactionCallback):
10758        (WebCore::V8DatabaseSync::readTransactionCallback):
10759        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp: Added.
10760        (WebCore::V8SQLTransactionSync::executeSqlCallback):
10761        * bindings/v8/custom/V8WorkerContextCustom.cpp:
10762        (WebCore::V8WorkerContext::openDatabaseSyncCallback):
10763        * storage/Database.idl:
10764        * storage/DatabaseCallback.h:
10765        * storage/DatabaseCallback.idl:
10766        * storage/DatabaseSync.cpp:
10767        (WebCore::DatabaseSync::changeVersion):
10768        (WebCore::DatabaseSync::transaction):
10769        * storage/DatabaseSync.h:
10770        * storage/DatabaseSync.idl: Added.
10771        * storage/SQLError.idl:
10772        * storage/SQLResultSet.idl:
10773        * storage/SQLResultSetRowList.idl:
10774        * storage/SQLTransaction.idl:
10775        * storage/SQLTransactionSync.idl: Added.
10776        * storage/SQLTransactionSyncCallback.h:
10777        * storage/SQLTransactionSyncCallback.idl: Added.
10778        * workers/WorkerContext.cpp:
10779        (WebCore::WorkerContext::openDatabaseSync):
10780        * workers/WorkerContext.h:
10781        * workers/WorkerContext.idl:
10782
107832010-05-07  Beth Dakin  <bdakin@apple.com>
10784
10785        Reviewed by Simon Fraser.
10786
10787        Fix for <rdar://problem/7956972> REGRESSION: Can't focus and type 
10788        in GMail due to bad repainting
10789        -and corresponding-
10790        https://bugs.webkit.org/show_bug.cgi?id=38782
10791
10792        This patch reverts back to pre-r58797 behavior when 
10793        shouldPropagateCompositingToIFrameParent() is false.
10794        * rendering/RenderLayerBacking.cpp:
10795        (WebCore::RenderLayerBacking::paintingGoesToWindow):
10796
107972010-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
10798
10799        Unreviewed, rolling out r58963.
10800        http://trac.webkit.org/changeset/58963
10801        https://bugs.webkit.org/show_bug.cgi?id=38773
10802
10803        Broke Chromium layout tests. (Requested by dcheng on #webkit).
10804
10805        * platform/chromium/DragDataChromium.cpp:
10806        (WebCore::DragData::asURL):
10807
108082010-05-07  Martin Robinson  <mrobinson@igalia.com>
10809
10810        Reviewed by Gustavo Noronha Silva.
10811
10812        https://bugs.webkit.org/show_bug.cgi?id=38769
10813        ClipboardGtk should write the URL label in the text portion of the DataObject
10814
10815        No tests as this code path is currently unused in the GTK+ port.
10816
10817        * platform/gtk/ClipboardGtk.cpp:
10818        (WebCore::ClipboardGtk::writeURL): Write the label to the text portion of the DataObject, instead of the URL.
10819
108202010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
10821
10822        Reviewed by Dirk Schulze.
10823
10824        RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
10825        https://bugs.webkit.org/show_bug.cgi?id=38767
10826
10827        Fix small logic error leading to a problem in RenderSVGResourceClipper. It assigns a new temporary RenderStyle
10828        to the target object, but fails to reset it correctly to the old style. Fixes all svg/clip-path errors on the windows bots.
10829
10830        * rendering/RenderSVGResourceClipper.cpp:
10831        (WebCore::RenderSVGResourceClipper::createClipData):
10832
108332010-05-07  Daniel Cheng  <dcheng@chromium.org>
10834
10835        Reviewed by Jian Li.
10836
10837        [chromium] DragDataChromium::asURL() shouldn't do file validity checks
10838        https://bugs.webkit.org/show_bug.cgi?id=38711
10839
10840        The renderer is sandboxed in Chromium, so these calls will give us no
10841        meaningful information. The loader will do the right thing if we pass
10842        it a file URL that points to an invalid file.
10843
10844        No new tests.
10845
10846        * platform/chromium/DragDataChromium.cpp:
10847        (WebCore::DragData::asURL):
10848
108492010-05-07  Simon Fraser  <simon.fraser@apple.com>
10850
10851        Reviewed by Dan Bernstein.
10852
10853        Fix debug-only render tree output to show object addresses in hex.
10854
10855        * rendering/RenderTreeAsText.cpp:
10856        (WebCore::writeRenderObject):
10857        (WebCore::write):
10858
108592010-05-07  Alexey Proskuryakov  <ap@apple.com>
10860
10861        Reviewed by Adele Peterson.
10862
10863        https://bugs.webkit.org/show_bug.cgi?id=38546
10864        Node.focus() fails to move focus from subframe properly
10865
10866        Test: fast/frames/take-focus-from-iframe.html
10867
10868        * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
10869        focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
10870        of focused frame get out of sync temporarily.
10871
108722010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>
10873
10874        Reviewed by Dirk Schulze.
10875
10876        svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
10877        https://bugs.webkit.org/show_bug.cgi?id=37798
10878
10879        When creating JSEventListeners through attributes (onclick, etc..) or add/removeEventListener
10880        calls on a SVGElementInstance, do NOT pass the element instance itself as JS wrapper object
10881        but the correspondingElement(). SVGElementInstance redirects all event listener registrations
10882        to the correspondingElement(), as they share an event listener list, per SVG spec. The old
10883        code was very dangerous, leading to random assertions, when garbage collection teared down
10884        the JSSVGElementInstance and event listeners fired, whose listeners were registered with
10885        it, but residing in the correspondingElement() event listener list.
10886
10887        Removes the need for CustomToJS code for JSSVGElementInstance, which was wrong anyways. We hoped
10888        to keep the event listeers alive by just creating a js wrapper of the correspondingElement(), that
10889        could only work as long as garbage collection didn't tear it down, just luck. Also remove the
10890        CustomPushEventHandlerScope marker, as it is only used for JSLazyEventListeners and only works
10891        for JSNode derived objects, it was a no-op for SVGElementInstance, thus removed it.
10892
10893        Should fix all random crashes/assertions seen with svg/custom/use-instanceRoot-as-event-target.xhtml
10894        See bug report for a detailed crash analysis.
10895
10896        * bindings/js/JSSVGElementInstanceCustom.cpp: Remove custom toJS()/pushEventHandlerScope() handling, not necessary anymore.
10897        (WebCore::JSSVGElementInstance::markChildren):
10898        * bindings/scripts/CodeGeneratorJS.pm: For JSSVGElementInstance pass the correspondingElement() as JS wrapper object, not itself.
10899        * svg/SVGElementInstance.cpp:
10900        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Be sure to trigger a style update here, so dirty shadow trees for <use> get rebuild. Otherwhise DOM may be out-of-sync.
10901        (WebCore::SVGElementInstance::eventTargetData): Add ASSERT_NOT_REACHED(), all event listener calls are forwarded to the correspondingElement().
10902        (WebCore::SVGElementInstance::ensureEventTargetData): Ditto.
10903        * svg/SVGElementInstance.idl: Remove CustomToJS, CustomPushEventHandlerScope markers.
10904
109052010-05-06  Kenneth Russell  <kbr@google.com>
10906
10907        Reviewed by Dimitri Glazkov.
10908
10909        WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
10910        https://bugs.webkit.org/show_bug.cgi?id=38039
10911
10912        Web IDL now allows indexed getters and setters to be unnamed. Per
10913        discussion in WebGL working group and recent update to spec,
10914        removed the buggy get() and single-element set() methods from the
10915        JavaScript bindings to the WebGL array types. Refactored set()
10916        implementation in JSC bindings to share more code and modified V8
10917        binding to look more like it. Added unit tests for indexed getter
10918        with out-of-range indices and verifying removal of get and
10919        single-element set methods. Updated existing WebGL array tests.
10920
10921        Tests: fast/canvas/webgl/array-get-and-set-method-removal.html
10922               fast/canvas/webgl/array-get-out-of-bounds.html
10923
10924        * bindings/js/JSWebGLArrayHelper.h:
10925        (WebCore::setWebGLArrayHelper):
10926        * bindings/js/JSWebGLByteArrayCustom.cpp:
10927        (WebCore::JSWebGLByteArray::set):
10928        * bindings/js/JSWebGLFloatArrayCustom.cpp:
10929        (WebCore::JSWebGLFloatArray::set):
10930        * bindings/js/JSWebGLIntArrayCustom.cpp:
10931        (WebCore::JSWebGLIntArray::set):
10932        * bindings/js/JSWebGLShortArrayCustom.cpp:
10933        (WebCore::JSWebGLShortArray::set):
10934        * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
10935        (WebCore::JSWebGLUnsignedByteArray::set):
10936        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
10937        (WebCore::JSWebGLUnsignedIntArray::set):
10938        * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
10939        (WebCore::JSWebGLUnsignedShortArray::set):
10940        * bindings/v8/custom/V8WebGLArrayCustom.h:
10941        (WebCore::setWebGLArrayHelper):
10942        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
10943        (WebCore::V8WebGLByteArray::setCallback):
10944        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
10945        (WebCore::V8WebGLFloatArray::setCallback):
10946        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
10947        (WebCore::V8WebGLIntArray::setCallback):
10948        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
10949        (WebCore::V8WebGLShortArray::setCallback):
10950        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
10951        (WebCore::V8WebGLUnsignedByteArray::setCallback):
10952        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
10953        (WebCore::V8WebGLUnsignedIntArray::setCallback):
10954        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
10955        (WebCore::V8WebGLUnsignedShortArray::setCallback):
10956        * html/canvas/WebGLByteArray.h:
10957        * html/canvas/WebGLByteArray.idl:
10958        * html/canvas/WebGLFloatArray.h:
10959        * html/canvas/WebGLFloatArray.idl:
10960        * html/canvas/WebGLIntArray.h:
10961        * html/canvas/WebGLIntArray.idl:
10962        * html/canvas/WebGLShortArray.h:
10963        * html/canvas/WebGLShortArray.idl:
10964        * html/canvas/WebGLUnsignedByteArray.h:
10965        * html/canvas/WebGLUnsignedByteArray.idl:
10966        * html/canvas/WebGLUnsignedIntArray.h:
10967        * html/canvas/WebGLUnsignedIntArray.idl:
10968        * html/canvas/WebGLUnsignedShortArray.h:
10969        * html/canvas/WebGLUnsignedShortArray.idl:
10970
109712010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10972
10973        Not reviewed: chromium dev tools tests fix.
10974        Add a more strict check prior to accessing constructor property in
10975        Web Inspector frontend.
10976
10977        * inspector/front-end/InjectedScript.js:
10978        (injectedScriptConstructor):
10979
109802010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10981
10982        Reviewed by Joseph Pecoraro.
10983
10984        Web Inspector: On Linux/Windows panel history is
10985        traversed while iterating over words in text prompt.
10986
10987        https://bugs.webkit.org/show_bug.cgi?id=38740
10988
10989        * inspector/front-end/TextPrompt.js:
10990        (WebInspector.TextPrompt):
10991        * inspector/front-end/inspector.js:
10992        (WebInspector.documentKeyDown):
10993
109942010-05-07  Pavel Feldman  <pfeldman@chromium.org>
10995
10996        Reviewed by Timothy Hatcher.
10997
10998        Web Inspector: come up with InjectedScript._className that works for both JSC and V8.
10999
11000        https://bugs.webkit.org/show_bug.cgi?id=38755
11001
11002        * inspector/front-end/InjectedScript.js:
11003        (injectedScriptConstructor):
11004
110052010-05-07  Joseph Pecoraro  <joepeck@webkit.org>
11006
11007        Reviewed by Adam Barth.
11008
11009        document.write is not synchronous after page load
11010        https://bugs.webkit.org/show_bug.cgi?id=38146
11011
11012        If there are no pending scripts, a document.write call should be
11013        synchronous. This matches other browsers and the HTML5 spec. Forcing
11014        the tokenizer to be synchronous in Document::write does not affect
11015        external scripts written by the write call. This should only change
11016        behavior of document.write after the page is done loading.
11017
11018        Difficult to test reliably due to HTMLTokenizing relying on processing time.
11019        I made a manual test because the test requires processing very large strings
11020        synchronously and therefore can take some time.
11021
11022        Test: WebCore/manual-tests/dom/document-write-synchronous-after-page-load.html
11023
11024        * dom/Document.cpp:
11025        (WebCore::SynchronousHTMLTokenizerGuard::SynchronousHTMLTokenizerGuard): if the provided tokenizer is an HTMLTokenizer make it synchronous
11026        (WebCore::SynchronousHTMLTokenizerGuard::~SynchronousHTMLTokenizerGuard): if the provided tokenizer was an HTMLTokenizer return its synchronous state
11027        (WebCore::Document::write): temporarily set the tokenizer to synchronous during document.write
11028        * dom/Tokenizer.h:
11029        (WebCore::Tokenizer::asHTMLTokenizer): default implementation returns 0, to be overridden by HTMLTokenizer
11030        * html/HTMLTokenizer.h: allow access to to the force synchronous state
11031        (WebCore::HTMLTokenizer::forceSynchronous): accessor
11032        (WebCore::HTMLTokenizer::asHTMLTokenizer): override the default to return itself
11033        * manual-tests/dom/document-write-synchronous-after-page-load.html: Added.
11034
110352010-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11036
11037        Reviewed by Simon Hausmann.
11038
11039        [Qt] Fix rendering of -webkit-user-select: none
11040
11041        -webkit-user-select: none is implemented by filling
11042        the area with an invalid default-constructed Color.
11043        In most ports passing an invalid color down to the
11044        graphics backend seems to produce transparent fills.
11045
11046        In Qt the behavior of painting with an invalid QColor
11047        is undefined, and in practice it results in painting
11048        black opaque areas.
11049
11050        One way to fix this would be to use Qt::transparent
11051        when converting an undefined Color to a QColor, but
11052        Qt does not have short circuits for fully transparent
11053        painting, and we actually end up in slow code paths
11054        due to the transparency. So, we're better of doing the
11055        short circuit in WebKit.
11056
11057        https://bugs.webkit.org/show_bug.cgi?id=38523
11058
11059        * platform/graphics/qt/GraphicsContextQt.cpp:
11060
110612010-05-07  Ben Murdoch  <benm@google.com>
11062
11063        Reviewed by Darin Adler.
11064
11065        Potential crash in EventHandler::handleTouchEvent
11066        https://bugs.webkit.org/show_bug.cgi?id=38646
11067
11068        Fix a ref counting bug that can cause a crash if the m_originatingouchPointTargets
11069        hashmap holds the last ref to an EventTarget when the user lifts their finger.
11070
11071        This is very hard to reproduce in a consistent way and clearly a
11072        simple logic error in the code, therefore no new tests.
11073
11074        * page/EventHandler.cpp:
11075        (WebCore::EventHandler::handleTouchEvent): Don't let the RefPtr we get back from
11076            the hasmap go out of scope so soon as it could delete the wrapped ptr if the
11077            hashmap held the last ref (and we use the raw ptr that the RefPtr
11078            wraps later in the WebCore::Touch constructor).
11079
110802010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11081
11082        Rubber-stamped by Kenneth Rohde Christiansen.
11083
11084        [GTK] Fails to build on GTK+ < 2.14
11085        https://bugs.webkit.org/show_bug.cgi?id=38746
11086
11087        Build fix only. Do basically the same as gtk_adjustment_configure
11088        would do if we are bellow GTK+ 2.14.
11089
11090        * platform/gtk/ScrollViewGtk.cpp:
11091        (WebCore::AdjustmentConfigure):
11092
110932010-05-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11094
11095        Rubber-stamped by Xan Lopez.
11096
11097        Crash with MgOpenModerna font, with non-UTF-8 character
11098        https://bugs.webkit.org/show_bug.cgi?id=37795
11099
11100        NULL-check the font platform data, for now, to avoid the crash.
11101
11102        Could not yet figure out a way to get a test written that does not
11103        involve adding the font to the tree, but there are doubts about
11104        licensing.
11105
11106        * platform/graphics/cairo/FontCacheCairo.cpp:
11107        (WebCore::FontCache::getFontDataForCharacters):
11108
111092010-05-07  MORITA Hajime  <morrita@google.com>
11110
11111        Reviewed by Eric Seidel.
11112
11113        [Chromium] RenderThemeChromiumMac.mm should share the code with RenderThemeMac.mm
11114        https://bugs.webkit.org/show_bug.cgi?id=37204
11115
11116        Made RenderThemeChromiumMac subclass of RenderThemeMac, instead of RenderTheme.
11117        Added some method to RenderThemeMac for overriding on RenderThemeChromiumMac.
11118        
11119        No new tests; Should have no behavioural change.
11120
11121        * WebCore.gyp/WebCore.gyp:
11122        * rendering/RenderThemeChromiumMac.h:
11123        * rendering/RenderThemeChromiumMac.mm:
11124        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
11125        (WebCore::RenderThemeChromiumMac::documentViewFor):
11126        (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize):
11127        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
11128        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
11129        * rendering/RenderThemeMac.h:
11130        (WebCore::RenderThemeMac::updateActiveState): Added for overriding
11131        * rendering/RenderThemeMac.mm:
11132        (WebCore::RenderThemeMac::usesTestModeFocusRingColor): Added for overriding
11133        (WebCore::RenderThemeMac::documentViewFor): Added for overriding
11134        (WebCore::RenderThemeMac::paintMenuList):
11135        (WebCore::RenderThemeMac::setPopupButtonCellState):
11136        (WebCore::RenderThemeMac::paintSliderThumb):
11137        (WebCore::RenderThemeMac::paintSearchField):
11138        (WebCore::RenderThemeMac::setSearchCellState):
11139        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
11140        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
11141        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
11142        (WebCore::RenderThemeMac::adjustSliderThumbSize):
11143        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): Added for overriding
11144        (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):        
11145
111462010-05-06  Fumitoshi Ukai  <ukai@chromium.org>
11147
11148        Reviewed by Alexey Proskuryakov.
11149
11150        JavaScriptCore/wtf/RandomNumber.h should provide using WTF::*
11151        https://bugs.webkit.org/show_bug.cgi?id=38719
11152
11153        * platform/graphics/wince/FontCustomPlatformData.cpp:
11154        (WebCore::createUniqueFontName):
11155          Remove WTF:: prefix from randomNumber()
11156        * platform/network/FormDataBuilder.cpp:
11157        (WebCore::FormDataBuilder::generateUniqueBoundaryString):
11158          Ditto.
11159
111602010-04-27  Tony Chang  <tony@chromium.org>
11161
11162        Reviewed by Eric Seidel.
11163
11164        [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
11165        https://bugs.webkit.org/show_bug.cgi?id=38189
11166
11167        Test: fast/events/mousedown-in-subframe-scrollbar.html
11168
11169        * page/chromium/EventHandlerChromium.cpp:
11170        (WebCore::EventHandler::passMousePressEventToSubframe): If clicking on
11171            a scrollbar, pass the event directly to the scrollbar.  This matches
11172            mac which passes the event to the NSScroller.
11173
111742010-05-06  Simon Fraser  <simon.fraser@apple.com>
11175
11176        Reviewed by Dan Bernstein.
11177
11178        Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
11179        https://bugs.webkit.org/show_bug.cgi?id=38712
11180        
11181        When compositing layer creation is testing layer overlap, we need to re-run the
11182        algorithm when an overflow:scroll element scrolls, to create new layers for revealed
11183        elements.
11184        
11185        Test: compositing/layer-creation/overflow-scroll-overlap.html
11186
11187        * rendering/RenderLayer.cpp:
11188        (WebCore::RenderLayer::scrollToOffset): First, move the compositing updates
11189        until after the call to updateWidgetPositions(), so that this order is similar
11190        to what we done when a FrameView scrolls. This change has no known side effects.
11191        Second, if compositingConsultsOverlap() is true, we need to actually do a 
11192        compositing layer update to compute whether revealed/hidden layers should
11193        be created/destroyed.
11194
111952010-05-06  Maciej Stachowiak  <mjs@apple.com>
11196
11197        Not reviewed, build fix.
11198
11199        Try again - with quotes this time. *facepalm*
11200
11201        * dom/Notation.cpp:
11202
112032010-05-06  Maciej Stachowiak  <mjs@apple.com>
11204
11205        Not reviewed, build fix.
11206
11207        Speculative fix for Qt and Gtk.
11208
11209        * dom/Notation.cpp:
11210
112112010-05-06  Maciej Stachowiak  <mjs@apple.com>
11212
11213        Not reviewed, build fix.
11214
11215        Fix an assert that I failed to update in my earlier change.
11216
11217        * dom/CharacterData.h:
11218        (WebCore::CharacterData::CharacterData):
11219
112202010-05-06  Alexey Proskuryakov  <ap@apple.com>
11221
11222        Reviewed by Geoff Garen.
11223
11224        https://bugs.webkit.org/show_bug.cgi?id=38697
11225        REGRESSION (r58299): Replying on reddit.com no longer works
11226
11227        * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Don't recognize :first,
11228        :left and :right. The aren't allowed in all contexts, and properly implementing them is out
11229        of scope for this regression fix.
11230
112312010-05-06  Jian Li  <jianli@chromium.org>
11232
11233        Reviewed by Adam Barth.
11234
11235        Improve code generator scripts to support converting ScriptString.
11236        https://bugs.webkit.org/show_bug.cgi?id=38699
11237
11238        Change both JSC and V8 generators to introduce "ConvertScriptString"
11239        attribute to allow converting from ScriptString. Also updated the
11240        bindings test result.
11241
11242        These changes are necessary in order to avoid adding custom binding codes
11243        when we add the FileReader interface.
11244
11245        * bindings/scripts/CodeGeneratorJS.pm:
11246        * bindings/scripts/CodeGeneratorV8.pm:
11247        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
11248        (webkit_dom_test_obj_get_script_string_attr):
11249        (webkit_dom_test_obj_get_property):
11250        (webkit_dom_test_obj_class_init):
11251        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
11252        * bindings/scripts/test/JS/JSTestObj.cpp:
11253        (WebCore::):
11254        (WebCore::jsTestObjScriptStringAttr):
11255        * bindings/scripts/test/JS/JSTestObj.h:
11256        * bindings/scripts/test/ObjC/DOMTestObj.h:
11257        * bindings/scripts/test/ObjC/DOMTestObj.mm:
11258        (-[DOMTestObj scriptStringAttr]):
11259        * bindings/scripts/test/TestObj.idl:
11260        * bindings/scripts/test/V8/V8TestObj.cpp:
11261        (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
11262        (WebCore::):
11263
112642010-05-06  Jian Li  <jianli@chromium.org>
11265
11266        Reviewed by Adam Barth.
11267
11268        Improve code generator scripts to pass additional ScriptExecutionContext
11269        argument to the constructor.
11270        https://bugs.webkit.org/show_bug.cgi?id=38687
11271
11272        Change both JSC and V8 generators to introduce "CallWith=ScriptExecutionContext"
11273        attribute to allow passing the additional ScriptExecutionContext argument to
11274        the constructor. Also add another test IDL file to test interface-level
11275        features.
11276
11277        These changes are necessary in order to avoid adding custom binding codes
11278        when we add the FileReader interface.
11279
11280        * bindings/scripts/CodeGeneratorJS.pm:
11281        * bindings/scripts/CodeGeneratorV8.pm:
11282        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Added.
11283        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Added.
11284        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h: Added.
11285        * bindings/scripts/test/JS/JSTestInterface.cpp: Added.
11286        * bindings/scripts/test/JS/JSTestInterface.h: Added.
11287        * bindings/scripts/test/ObjC/DOMTestInterface.h: Added.
11288        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Added.
11289        * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: Added.
11290        * bindings/scripts/test/TestInterface.idl: Added.
11291        * bindings/scripts/test/V8/V8TestInterface.cpp: Added.
11292        * bindings/scripts/test/V8/V8TestInterface.h: Added.
11293        * bindings/v8/V8Proxy.h:
11294        (WebCore::V8Proxy::constructDOMObjectWithScriptExecutionContext):
11295
112962010-05-06  Maciej Stachowiak  <mjs@apple.com>
11297
11298        Build fix, not reviewed.
11299        
11300        Speculative Windows and Debug build fixes for the last change.
11301
11302        * dom/Node.h:
11303        (WebCore::Node::inDocument):
11304        (WebCore::Node::setFlag):
11305
113062010-05-06  James Robinson  <jamesr@chromium.org>
11307
11308        Reviewed by Eric Seidel.
11309
11310        Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
11311        https://bugs.webkit.org/show_bug.cgi?id=38158
11312
11313        Fixes:
11314        - replace NULL with 0
11315        - remove unusued locals
11316        - add parens around ambiguous looking compound predicates like (a || b && c)
11317
11318        This also adds a check for x >= 0 to FontLinux.cpp's in this statement:
11319          if (x < walker.width())
11320        This is more documentation than anything else since walker.width() returns
11321        an unsigned the current behavior is that x is promoted to unsigned and as
11322        long as x + walker.width() is less than 2^31 all negative values of x
11323        end up wrapping around and not being < walker.width().  This behavior is
11324        tested by fast/text/international/khmer-selection.html
11325
11326        * platform/graphics/chromium/FontLinux.cpp:
11327        (WebCore::adjustTextRenderMode):
11328        (WebCore::TextRunWalker::TextRunWalker):
11329        (WebCore::TextRunWalker::length):
11330        (WebCore::TextRunWalker::width):
11331        (WebCore::TextRunWalker::getTextRun):
11332        (WebCore::TextRunWalker::getNormalizedTextRun):
11333        (WebCore::Font::offsetForPositionForComplexText):
11334        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
11335        (WebCore::FontPlatformData::setupPaint):
11336        * platform/graphics/chromium/HarfbuzzSkia.cpp:
11337        (WebCore::getOutlinePoint):
11338        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
11339        (WebCore::GraphicsContext3D::getImageData):
11340        * platform/graphics/skia/GraphicsContextSkia.cpp:
11341        (WebCore::isCoordinateSkiaSafe):
11342        (WebCore::GraphicsContext::fillRect):
11343        (WebCore::GraphicsContext::strokePath):
11344        (WebCore::GraphicsContext::strokeRect):
11345
113462010-05-06  Ada Chan  <adachan@apple.com>
11347
11348        Reviewed by David Kilzer.
11349
11350        https://bugs.webkit.org/show_bug.cgi?id=38695
11351        
11352        Check the result from widget() for NULL before accessing it.
11353
11354        * rendering/RenderIFrame.cpp:
11355        (WebCore::RenderIFrame::calcHeight):
11356        (WebCore::RenderIFrame::calcWidth):
11357
113582010-05-06  Maciej Stachowiak  <mjs@apple.com>
11359
11360        Reviewed by Darin Adler.
11361
11362        further fixes towards REGRESSION (r57292): 1% PLT regression from visited link information leak fix
11363        https://bugs.webkit.org/show_bug.cgi?id=38682
11364        <rdar://problem/7859794>
11365
11366        Looks like a 1-2% speedup on PLT.
11367
11368        - Reorder CSS properties.
11369        - Remove short circuit tag check in matchRulesForList which costs more than it saves.
11370        - Inline initForStyleResolve.
11371        - Optimize applyDeclarations to avoid switch and take fewer branches in the inner loop.
11372        
11373        - Change the way Node handles flags - replace bitfield with a uint32_t and explicit masking, 
11374        to make it cheaper to initialize the bits and give faster access.
11375        - Added new Node flags to check for isStyledElement, isHTMLElement, isSVGElement, isComment, 
11376        and devirtualize those methods.
11377        - Inline constructors for Node, Element, Text, CharacterData, StyledElement, etc since
11378        they are very simple and lots of nodes get constructed.
11379        
11380        * css/CSSPropertyNames.in: Move a few of the properties up front so we can check for them
11381        with < instead of switch statements
11382        * css/CSSStyleSelector.cpp:
11383        (WebCore::CSSStyleSelector::matchRulesForList): Remove unnecessary preflight check
11384        for tag match before checking selector. This check very rarely short circuits anything,
11385        since most rules with a tag end up in the appropriate tag bucket. So doing the check
11386        cost more time than the time saved.
11387        (WebCore::CSSStyleSelector::initForStyleResolve): Inline. Create RenderStyle in a better way.
11388        (WebCore::CSSStyleSelector::applyDeclarations): Get rid of switch statement and use <= to
11389        check for the high priority properties. Convert to template to avoid checking "applyFirst"
11390        each time through the loop.
11391        (WebCore::CSSStyleSelector::styleForElement): Adjust for new applyDeclarations() signature.
11392        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): ditto
11393        (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
11394        * css/CSSStyleSelector.h: Adjust for new applyDeclarations() signature.
11395        * rendering/style/RenderStyle.cpp:
11396        (WebCore::RenderStyle::RenderStyle): Inline constructor.
11397        * rendering/style/RenderStyle.h: Make constructor private so it can be inline.
11398        * dom/Node.h:
11399        (WebCore::): See high-level description of changes above. Redid the
11400        way boolean flags work.
11401        (WebCore::Node::isElementNode):
11402        (WebCore::Node::isContainerNode):
11403        (WebCore::Node::isTextNode):
11404        (WebCore::Node::isHTMLElement):
11405        (WebCore::Node::isSVGElement):
11406        (WebCore::Node::isStyledElement):
11407        (WebCore::Node::isCommentNode):
11408        (WebCore::Node::hasID):
11409        (WebCore::Node::hasClass):
11410        (WebCore::Node::active):
11411        (WebCore::Node::inActiveChain):
11412        (WebCore::Node::inDetach):
11413        (WebCore::Node::hovered):
11414        (WebCore::Node::attached):
11415        (WebCore::Node::setAttached):
11416        (WebCore::Node::needsStyleRecalc):
11417        (WebCore::Node::styleChangeType):
11418        (WebCore::Node::childNeedsStyleRecalc):
11419        (WebCore::Node::isLink):
11420        (WebCore::Node::setHasID):
11421        (WebCore::Node::setHasClass):
11422        (WebCore::Node::setChildNeedsStyleRecalc):
11423        (WebCore::Node::clearChildNeedsStyleRecalc):
11424        (WebCore::Node::setInDocument):
11425        (WebCore::Node::clearInDocument):
11426        (WebCore::Node::setInActiveChain):
11427        (WebCore::Node::clearInActiveChain):
11428        (WebCore::Node::setIsLink):
11429        (WebCore::Node::clearIsLink):
11430        (WebCore::Node::setActive):
11431        (WebCore::Node::setHovered):
11432        (WebCore::Node::inDocument):
11433        (WebCore::Node::):
11434        (WebCore::Node::getFlag):
11435        (WebCore::Node::setFlag):
11436        (WebCore::Node::clearFlag):
11437        (WebCore::Node::hasRareData):
11438        (WebCore::Node::isParsingChildrenFinished):
11439        (WebCore::Node::setIsParsingChildrenFinished):
11440        (WebCore::Node::clearIsParsingChildrenFinished):
11441        (WebCore::Node::isStyleAttributeValid):
11442        (WebCore::Node::setIsStyleAttributeValid):
11443        (WebCore::Node::clearIsStyleAttributeValid):
11444        (WebCore::Node::isSynchronizingStyleAttribute):
11445        (WebCore::Node::setIsSynchronizingStyleAttribute):
11446        (WebCore::Node::clearIsSynchronizingStyleAttribute):
11447        (WebCore::Node::areSVGAttributesValid):
11448        (WebCore::Node::setAreSVGAttributesValid):
11449        (WebCore::Node::clearAreSVGAttributesValid):
11450        (WebCore::Node::isSynchronizingSVGAttributes):
11451        (WebCore::Node::setIsSynchronizingSVGAttributes):
11452        (WebCore::Node::clearIsSynchronizingSVGAttributes):
11453        (WebCore::Node::hasRareSVGData):
11454        (WebCore::Node::setHasRareSVGData):
11455        (WebCore::Node::clearHasRareSVGData):
11456        (WebCore::Node::initialRefCount):
11457        * dom/Node.cpp:
11458        (WebCore::Node::trackForDebugging): Adjusted for changes in
11459        flag handling.
11460        (WebCore::Node::ensureRareData): ditto
11461        (WebCore::Node::setStyleChange): ditto
11462        (WebCore::Node::setNeedsStyleRecalc): ditto
11463        (WebCore::Node::lazyAttach): ditto
11464        (WebCore::Node::attach): ditto
11465        (WebCore::Node::detach): ditto
11466        (WebCore::Node::insertedIntoDocument): ditto
11467        (WebCore::Node::removedFromDocument): ditto
11468        * dom/CharacterData.cpp:
11469        * dom/CharacterData.h:
11470        (WebCore::CharacterData::CharacterData): Inline the constructor (moved from .cpp)
11471        * dom/Comment.cpp:
11472        (WebCore::Comment::Comment): Tell the base class that we're a comment.
11473        * dom/Comment.h: Remove isCommentNode override.
11474        * dom/ContainerNode.cpp:
11475        (WebCore::ContainerNode::detach): Adjusted for changes in flag
11476        handling.
11477        (WebCore::ContainerNode::removedFromDocument): ditto
11478        * dom/Document.cpp:
11479        (WebCore::Document::Document): Adjusted for changes in flag handling.
11480        (WebCore::Document::recalcStyle): ditto
11481        (WebCore::Document::setFocusedNode): ditto
11482        * dom/Document.h:
11483        (WebCore::Node::Node): Inline the Node constructor - goes here
11484        because it uses Document.
11485        * dom/DocumentFragment.cpp: include Document.h due to above change
11486        * dom/EditingText.cpp: ditto
11487        * dom/EntityReference.cpp: ditto
11488        * dom/Element.cpp:
11489        (WebCore::Element::getAttribute): Adjusted for changes in flag
11490        handling.
11491        (WebCore::Element::setAttribute): ditto
11492        (WebCore::Element::hasAttributes): ditto
11493        (WebCore::Element::recalcStyle): ditto
11494        (WebCore::Element::finishParsingChildren): ditto
11495        * dom/Element.h:
11496        (WebCore::Element::Element): Inline (moved from .cpp)
11497        (WebCore::Element::isFinishedParsingChildren):
11498        (WebCore::Element::beginParsingChildren):
11499        (WebCore::Element::attributes): Adjusted for changes in flag
11500        handling.
11501        * dom/StyledElement.cpp:
11502        (WebCore::StyledElement::updateStyleAttribute): Adjust for
11503        changes to flag handling.
11504        (WebCore::StyledElement::mapToEntry): ditto
11505        (WebCore::StyledElement::parseMappedAttribute): ditto
11506        (WebCore::StyledElement::copyNonAttributeProperties): ditto
11507        * dom/StyledElement.h:
11508        (WebCore::StyledElement::StyledElement): Inline (moved from.cpp)
11509        (WebCore::StyledElement::invalidateStyleAttribute): Adjust for
11510        changes in flag handling.
11511        * dom/Text.h:
11512        (WebCore::Text::Text): Inline (moved from .cpp)
11513        * dom/Text.cpp:
11514        * html/HTMLAnchorElement.cpp:
11515        (WebCore::HTMLAnchorElement::HTMLAnchorElement): Adjust for changes in
11516        flag handling.
11517        (WebCore::HTMLAnchorElement::parseMappedAttribute): ditto
11518        * html/HTMLElement.cpp:
11519        (WebCore::HTMLElement::create): Tell base class we're an HTML element.
11520        * html/HTMLElement.h: ditto above; remove isHTMLElement override.
11521        * html/HTMLFormControlElement.h: Tell base class we're an HTML element.
11522        * html/HTMLFrameOwnerElement.cpp:
11523        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): ditto
11524        * html/HTMLProgressElement.cpp:
11525        (WebCore::HTMLProgressElement::HTMLProgressElement): ditto
11526        * mathml/MathMLElement.cpp:
11527        (WebCore::MathMLElement::MathMLElement): Tell base class we're a styled
11528        element.
11529        * rendering/MediaControlElements.cpp:
11530        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
11531        Adjust for changes in flag handling.
11532        (WebCore::MediaControlElement::MediaControlElement): ditto
11533        (WebCore::MediaControlInputElement::MediaControlInputElement): ditto
11534        * rendering/RenderFileUploadControl.cpp:
11535        (WebCore::RenderFileUploadControl::updateFromElement): ditto
11536        * rendering/RenderLayer.cpp:
11537        (WebCore::RenderLayer::updateHoverActiveState): ditto
11538        * rendering/RenderProgress.cpp:
11539        (WebCore::RenderProgress::updateValuePartState): ditto
11540        * rendering/RenderSlider.cpp:
11541        (WebCore::RenderSlider::updateFromElement): ditto
11542        * rendering/SVGShadowTreeElements.cpp:
11543        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): ditto
11544        * rendering/TextControlInnerElements.cpp:
11545        (WebCore::TextControlInnerElement::attachInnerElement): ditto
11546        * svg/SVGAnimatedProperty.h:
11547        (WebCore::SVGAnimatedPropertyTearOff::setBaseVal): ditto
11548        (WebCore::SVGAnimatedPropertyTearOff::setAnimVal): ditto
11549        * svg/SVGElement.cpp:
11550        (WebCore::SVGElement::SVGElement): Tell base class we're
11551        an svg element.
11552        (WebCore::SVGElement::ensureRareSVGData): Adjust for flag handling
11553        changes.
11554        (WebCore::SVGElement::updateAnimatedSVGAttribute): ditto
11555        * svg/SVGElement.h:
11556        (WebCore::SVGElement::invalidateSVGAttributes): ditto
11557        * svg/SVGPolyElement.cpp:
11558        (WebCore::SVGPolyElement::svgAttributeChanged): ditto
11559        * wml/WMLAnchorElement.cpp:
11560        (WebCore::WMLAnchorElement::WMLAnchorElement): ditto
11561        * wml/WMLElement.cpp:
11562        (WebCore::WMLElement::WMLElement): Tell base class we're a styled
11563        element.
11564
115652010-05-06  Adam Barth  <abarth@webkit.org>
11566
11567        Unreviewed.  Fix indent.  Sorry, my OCD was acting up.
11568
11569        * page/EventHandler.cpp:
11570        (WebCore::EventHandler::handleMouseReleaseEvent):
11571
115722010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11573
11574        Reviewed by Joseph Pecoraro.
11575
11576        Web Inspector: store selected Headers / Content tab on explicit switch and/or explicit navigate only.
11577
11578        https://bugs.webkit.org/show_bug.cgi?id=38660
11579
11580        * inspector/front-end/ResourceView.js:
11581        (WebInspector.ResourceView):
11582        (WebInspector.ResourceView.prototype._selectHeadersTab):
11583        (WebInspector.ResourceView.prototype.selectContentTab):
11584        * inspector/front-end/ResourcesPanel.js:
11585        (WebInspector.ResourcesPanel.prototype.showResource):
11586
115872010-05-06  Luiz Agostini  <luiz.agostini@openbossa.org>
11588
11589        Rubber-stamped by Simon Hausmann.
11590
11591        [Qt] use QT_MOBILE_THEME in Symbian
11592        https://bugs.webkit.org/show_bug.cgi?id=38440
11593
11594        Putting QT_MOBILE_THEME into use for Symbian.
11595
11596        * WebCore.pro:
11597
115982010-05-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
11599
11600        Unreviewed, build fix WinCE for QtWebKit.
11601
11602        [Qt] Compilation with Plugins disabled is broken
11603        https://bugs.webkit.org/show_bug.cgi?id=31407
11604
11605        Rename platform/qt/TemporaryLinkStubs.cpp to avoid name collition on
11606        Windows.
11607
11608        Thanks for Ismail "cartman" Donmez for help.
11609
11610        No new tests, as there is no new functionality.
11611
11612        * WebCore.gypi:
11613        * WebCore.pro:
11614        * platform/qt/TemporaryLinkStubs.cpp: Removed.
11615        * platform/qt/TemporaryLinkStubsQt.cpp: Copied from WebCore/platform/qt/TemporaryLinkStubs.cpp.
11616
116172010-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
11618
11619        Reviewed by Kenneth Rohde Christiansen.
11620
11621        [Qt] REGRESSION: Loading of external CSS and JS files over network fails in some cases
11622        https://bugs.webkit.org/show_bug.cgi?id=36755
11623
11624        Enable the direct connection between QtNetwork and QtWebKit only for Qt versions
11625        greater than 4.6.2, due to a bug in Qt that's been fixed after 4.6.2.
11626
11627        * platform/network/qt/QNetworkReplyHandler.cpp:
11628
116292010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11630
11631        Reviewed by Xan Lopez.
11632
11633        Rework where we get page step and line step from, so we do not
11634        depend on scrollbars existing. Caught by API test I forgot to run.
11635
11636        * platform/gtk/ScrollViewGtk.cpp:
11637        (WebCore::ScrollView::setGtkAdjustments):
11638
116392010-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
11640
11641        Reviewed by Xan Lopez.
11642
11643        [GTK] Adjustment resetting uses wrong values, and misses page_size and steps
11644        https://bugs.webkit.org/show_bug.cgi?id=38657
11645
11646        Fix resetting adjustment values. In the page cache case, we were
11647        confusing page_size and upper, leading to stray scrollbars
11648        sometimes.
11649
11650        * platform/gtk/ScrollViewGtk.cpp:
11651        (WebCore::ScrollView::setGtkAdjustments):
11652
116532010-05-06  Darin Adler  <darin@apple.com>
11654
11655        Reviewed by Beth Dakin.
11656
11657        Page::setCanStartMedia does not properly handle the case where a media listener is removed
11658        https://bugs.webkit.org/show_bug.cgi?id=38602
11659
11660        We can't find any real case where this causes a crash at this time, but
11661        we want to harden the code anyway. Thus there are no new regression tests.
11662
11663        * page/Page.cpp:
11664        (WebCore::Page::removeMediaCanStartListener): Removed incorrect assertion.
11665        (WebCore::Page::setCanStartMedia): Change algorithm so we notify listeners
11666        one at a time and don't notify any listener that has already been removed
11667        from the set.
11668
116692010-05-05  Ojan Vafai  <ojan@chromium.org>
11670
11671        Reviewed by Darin Adler.
11672
11673        shift+click on an existing selection doesn't work right
11674        https://bugs.webkit.org/show_bug.cgi?id=36542
11675
11676        NSTextView behavior is to move the end of the selection
11677        closest to the shift-click. Win/Linux behavior is to always
11678        move the focus end of the selection.
11679
11680        Test: editing/selection/shift-click.html
11681
11682        * page/EventHandler.cpp:
11683        (WebCore::textDistance):
11684        (WebCore::EventHandler::handleMousePressEventSingleClick):
11685
116862010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11687
11688        Reviewed by Timothy Hatcher.
11689
11690        Web Inspector: implement panels history traversal on Cmd+Left/Right.
11691
11692        https://bugs.webkit.org/show_bug.cgi?id=38649
11693
11694        * inspector/front-end/inspector.js:
11695        (WebInspector.set currentPanel):
11696        (WebInspector.loaded):
11697        (WebInspector.documentKeyDown):
11698        (WebInspector.PanelHistory):
11699        (WebInspector.PanelHistory.prototype.canGoBack):
11700        (WebInspector.PanelHistory.prototype.goBack):
11701        (WebInspector.PanelHistory.prototype.canGoForward):
11702        (WebInspector.PanelHistory.prototype.goForward):
11703        (WebInspector.PanelHistory.prototype.setPanel):
11704
117052010-05-03  Evan Martin  <evan@chromium.org>
11706
11707        Reviewed by Eric Seidel.
11708
11709        [chromium] use glyphDataForCharacter so we hit the glyphdata cache
11710        https://bugs.webkit.org/show_bug.cgi?id=38500
11711
11712        Calling fontDataForCharacters() while rendering text is expensive.
11713        Examining the relevant Mac code in WebKit revealed that calling the
11714        similarly-named glyphDataForCharacters() results in caching the font
11715        data on a per-glyph basis.
11716
11717        Since we now choose a font based on the first character in a run, we
11718        need to be careful that all the glyphs within the run use the same font.
11719        This is also similar to the WebKit Mac code.  We need to remove all of
11720        the script run bits eventually and this is a step in that direction.
11721
11722        Tests: fast/text/international/danda-space.html spacing changes slightly
11723        (now matches Firefox better) and fast/text/international/thai-baht-space.html
11724        now picks the correct (serif) font for the digits.
11725
11726        * platform/graphics/chromium/FontLinux.cpp:
11727        (WebCore::TextRunWalker::nextScriptRun):
11728        (WebCore::TextRunWalker::setupFontForScriptRun):
11729
117302010-05-06  Martin Robinson  <mrobinson@webkit.org>
11731
11732        Reviewed by Gustavo Noronha Silva.
11733
11734        [GTK] Enable DOM clipboard and drag-and-drop access
11735        https://bugs.webkit.org/show_bug.cgi?id=30623
11736
11737        Convert dragging portion of drag-and-drop to use DataObjectGtk.
11738
11739        No new tests, because functionality has not changed.
11740
11741        * page/gtk/EventHandlerGtk.cpp:
11742        (WebCore::EventHandler::createDraggingClipboard): Pass the DataObjectGtk as a parameter here.
11743        * platform/gtk/ClipboardGtk.h:
11744        (WebCore::ClipboardGtk::create): Take the DataObject as a parameter instead of creating it here.
11745        (WebCore::ClipboardGtk::helper): Added.
11746        (WebCore::ClipboardGtk::dataObject): Added.
11747        * platform/gtk/PasteboardHelper.h: Make targetListForDataObject a public method.
11748
117492010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11750
11751        Reviewed by Timothy Hatcher.
11752
11753        Web Inspector: Do not show content tab for resources
11754        not supporting content preview.
11755
11756        https://bugs.webkit.org/show_bug.cgi?id=38635
11757
11758        * English.lproj/localizedStrings.js:
11759        * inspector/front-end/FontView.js:
11760        (WebInspector.FontView.prototype.hasContentTab):
11761        * inspector/front-end/ImageView.js:
11762        (WebInspector.ImageView.prototype.hasContentTab):
11763        * inspector/front-end/ResourceView.js:
11764        (WebInspector.ResourceView):
11765        (WebInspector.ResourceView.prototype._selectTab):
11766        (WebInspector.ResourceView.prototype.hasContentTab):
11767        * inspector/front-end/SourceView.js:
11768        (WebInspector.SourceView.prototype.hasContentTab):
11769
117702010-05-06  Antonio Gomes  <tonikitoo@webkit.org>
11771
11772        Reviewed by Kenneth Christiansen.
11773
11774        Spatial Navigation: adapt the logic of {deep}findFocusableNodeInDirection to do traversal starting from Node* not Document*
11775        https://bugs.webkit.org/show_bug.cgi?id=37803
11776
11777        Instead of receiving a Document pointer as incoming parameter, patch modifies
11778        findFocusableNodeInDirection and deepFindFocusableNodeInDirection methods to
11779        receive a Node pointer as start for content traversal.
11780        This way we can make good use of deepFindFocusableNodeInDirection to traverse
11781        other scrollable container like scrollable div's, and not only frames or iframes.
11782
11783        Patch also makes use of 'while' instead of 'for' to loop control, that gives move
11784        flexibility to the incremental step: e.g. if a scrollable div was processed, the incremental
11785        step in the loop does not have to do node->traverseNextNode() but node->traverseNextSibling().
11786
11787        No behavior change. It is a preparation for supporting scrollable containers in Spatial
11788        Navigation.
11789
11790        * page/FocusController.cpp:
11791        (WebCore::FocusController::advanceFocusDirectionally):
11792        (WebCore::FocusController::findFocusableNodeInDirection):
11793        (WebCore::FocusController::deepFindFocusableNodeInDirection):
11794        * page/FocusController.h:
11795
117962010-05-06  Csaba Osztrogonác  <ossy@webkit.org>
11797
11798        Unreviewed WinCE buildfix after r58842.
11799        Preprocessor doesn't understand "true", changed to "1"
11800
11801        * platform/graphics/MediaPlayer.cpp:
11802
118032010-05-06  Mikhail Naganov  <mnaganov@chromium.org>
11804
11805        Reviewed by Pavel Feldman.
11806
11807        Temporarily disable 'console.profiles' until we can distinguish
11808        functions from different frames
11809
11810        https://bugs.webkit.org/show_bug.cgi?id=38638
11811
11812        * bindings/v8/custom/V8ConsoleCustom.cpp:
11813        (WebCore::V8Console::profilesAccessorGetter):
11814
118152010-05-06  Steve Block  <steveblock@google.com>
11816
11817        Reviewed by Eric Seidel.
11818
11819        MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
11820        https://bugs.webkit.org/show_bug.cgi?id=38544
11821
11822        No new tests, build fix only.
11823
11824        * DerivedSources.make:
11825        * bindings/js/ScriptController.cpp:
11826        (WebCore::ScriptController::ScriptController):
11827        * bindings/js/ScriptController.h:
11828        * bindings/js/ScriptControllerMac.mm:
11829        (WebCore::ScriptController::createScriptInstanceForWidget):
11830        * bridge/jni/JNIBridge.cpp:
11831        * bridge/jni/JNIBridge.h:
11832        * bridge/jni/JNIUtility.cpp:
11833        * bridge/jni/JNIUtility.h:
11834        * bridge/jni/jni_jsobject.h:
11835        * bridge/jni/jni_jsobject.mm:
11836        * bridge/jni/jni_objc.mm:
11837        * bridge/jni/jsc/JNIBridgeJSC.cpp:
11838        * bridge/jni/jsc/JNIBridgeJSC.h:
11839        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
11840        * bridge/jni/jsc/JNIUtilityPrivate.h:
11841        * bridge/jni/jsc/JavaClassJSC.cpp:
11842        * bridge/jni/jsc/JavaClassJSC.h:
11843        * bridge/jni/jsc/JavaInstanceJSC.cpp:
11844        * bridge/jni/jsc/JavaInstanceJSC.h:
11845        * loader/FrameLoaderClient.h:
11846
118472010-05-05  Alejandro G. Castro  <alex@igalia.com>
11848
11849        Reviewed by Xan Lopez.
11850
11851        Fixed the gobject introspection compilation with the new DOM
11852        bindings, we needed to add DOM objects.
11853
11854        * GNUmakefile.am:
11855
118562010-05-06  Adam Barth  <abarth@webkit.org>
11857
11858        Reviewed by Eric Seidel.
11859
11860        drop support for sessionStorage in sandbox iframes
11861        https://bugs.webkit.org/show_bug.cgi?id=38151
11862
11863        This patch causes us to throw a security exception when a sandboxed
11864        iframe attempts to access sessionStorage, matching our behavior for
11865        localStorage.  The letter of the spec asks us to create a separate
11866        storage area for each unique origin.  We might want to do that in a
11867        future patch, but throwing a security error seems like a safe move now.
11868
11869        * page/DOMWindow.cpp:
11870        (WebCore::DOMWindow::sessionStorage):
11871        (WebCore::DOMWindow::localStorage):
11872        * page/DOMWindow.h:
11873        * page/DOMWindow.idl:
11874        * page/SecurityOrigin.h:
11875        (WebCore::SecurityOrigin::canAccessSessionStorage):
11876        * storage/StorageEventDispatcher.cpp:
11877        (WebCore::StorageEventDispatcher::dispatch):
11878
118792010-05-06  Andy Estes  <aestes@apple.com>
11880
11881        Reviewed by Maciej Stachowiak.
11882
11883        Allow forms submitting to target="_blank" to open popups if the submission
11884        originated from a user gesture.
11885
11886        https://bugs.webkit.org/show_bug.cgi?id=37335
11887        <rdar://problem/7884980>
11888
11889        Test: fast/events/popup-allowed-from-gesture-initiated-form-submit.html
11890
11891        * bindings/js/ScriptController.cpp:
11892        (WebCore::ScriptController::processingUserGesture): If no DOM event is
11893        being processed, consult UserGestureIndicator to determine return value.
11894        * bindings/js/ScriptController.h: Moved the logic of processingUserGestureEvent()
11895        into processingUserGesture().
11896
118972010-05-06  Xan Lopez  <xlopez@igalia.com>
11898
11899        Rubber-stamped by Eric Seidel.
11900
11901        [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11902        https://bugs.webkit.org/show_bug.cgi?id=38577
11903
11904        Thinko caught while refactoring, $custom variable was not
11905        initialized.
11906
11907        * bindings/scripts/CodeGeneratorGObject.pm:
11908        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
11909        (webkit_dom_test_obj_set_property):
11910        (webkit_dom_test_obj_get_property):
11911        (webkit_dom_test_obj_class_init):
11912
119132010-05-06  Xan Lopez  <xlopez@igalia.com>
11914
11915        Rubber-stamped by Eric Seidel.
11916
11917        [GTK] Refactor GenerateProperties in CodeGenerationGObject.pm
11918        https://bugs.webkit.org/show_bug.cgi?id=38577
11919
11920        Refactor GenerateProperty out of GenerateProperties. This is in
11921        preparation for EventListeren attributes, which won't generate
11922        normal GObject properties.
11923
11924        * bindings/scripts/CodeGeneratorGObject.pm:
11925
119262010-05-06  Pavel Feldman  <pfeldman@chromium.org>
11927
11928        Reviewed by Joseph Pecoraro.
11929
11930        Web Inspector: follow up to linkify event listeners.
11931
11932        https://bugs.webkit.org/show_bug.cgi?id=38257
11933
11934        * bindings/js/ScriptEventListener.cpp:
11935        (WebCore::eventListenerHandlerLocation):
11936        * bindings/v8/ScriptEventListener.cpp:
11937        (WebCore::eventListenerHandlerLocation):
11938        * inspector/front-end/ElementsPanel.js:
11939        (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
11940        * inspector/front-end/EventListenersSidebarPane.js:
11941
119422010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>
11943
11944        Reviewed by George Staikos
11945
11946        https://bugs.webkit.org/show_bug.cgi?id=37848
11947        This patch adds WCSS -wap-input-format and -wap-input-required support to WebKit
11948
11949        Tests: fast/wcss/wap-input-format.xhtml
11950               fast/wcss/wap-input-required.xhtml
11951
11952        * css/CSSParser.cpp:
11953        (WebCore::CSSParser::parseValue):
11954        (WebCore::CSSParser::parseWCSSInputProperty):
11955        * css/CSSParser.h:
11956        * css/CSSStyleSelector.cpp:
11957        (WebCore::CSSStyleSelector::applyProperty):
11958        * css/WCSSPropertyNames.in:
11959        * dom/InputElement.cpp:
11960        (WebCore::InputElement::sanitizeValue):
11961        (WebCore::InputElement::handleBeforeTextInsertedEvent):
11962        (WebCore::InputElementData::InputElementData):
11963        (WebCore::formatCodes):
11964        (WebCore::cursorPositionToMaskIndex):
11965        (WebCore::InputElement::isConformToInputMask):
11966        (WebCore::InputElement::validateInputMask):
11967        * dom/InputElement.h:
11968        (WebCore::InputElementData::inputFormatMask):
11969        (WebCore::InputElementData::setInputFormatMask):
11970        (WebCore::InputElementData::maxInputCharsAllowed):
11971        (WebCore::InputElementData::setMaxInputCharsAllowed):
11972        * html/HTMLInputElement.cpp:
11973        (WebCore::HTMLInputElement::setWapInputFormat):
11974        * html/HTMLInputElement.h:
11975        (WebCore::HTMLInputElement::data):
11976        * wml/WMLInputElement.h:
11977        (WebCore::WMLInputElement::data):
11978
119792010-05-05  MORITA Hajime  <morrita@google.com>
11980
11981        Reviewed by Darin Adler.
11982
11983        https://bugs.webkit.org/show_bug.cgi?id=38150
11984        Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer.
11985
11986        Moved a part of code chunk in HTMLFormControlElementWithState::defaultEventHandler()
11987        which accesses the renderer from foreign node, 
11988        to TextControlInnerTextElement::defaultEventHandler() which owns the renderer.
11989        
11990        No new tests. No behavioral change.
11991
11992        * html/HTMLFormControlElement.cpp:
11993        (WebCore::HTMLFormControlElementWithState::defaultEventHandler):
11994        * html/HTMLFormControlElement.h:
11995        * html/HTMLInputElement.h:
11996        * html/HTMLTextAreaElement.h:
11997        * rendering/TextControlInnerElements.cpp:
11998        (WebCore::TextControlInnerTextElement::defaultEventHandler):
11999
120002010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
12001
12002        Reviewed by Timothy Hatcher.
12003
12004        Web Inspector: Line Numbers should be Aligned with the Source Code Line
12005        https://bugs.webkit.org/show_bug.cgi?id=38593
12006
12007        If there is a message bubble, such as an error message, in a source view
12008        the line number should be in line with the source code line, not centered
12009        between the source and bubble.
12010
12011        * inspector/front-end/textViewer.css:
12012        (.webkit-line-number): added vertical-align: top
12013
120142010-05-05  Dan Bernstein  <mitz@apple.com>
12015
12016        Fix the decelerated compositing build.
12017
12018        * page/FrameView.cpp:
12019        (WebCore::FrameView::isEnclosedInCompositingLayer):
12020        * page/FrameView.h:
12021
120222010-05-05  Gavin Barraclough  <barraclough@apple.com>
12023
12024        Reviewed by Darin Adler.
12025
12026        Bug 38604 - workers-gc2 crashing on Qt
12027
12028        This appears to be due to a couple of issues.
12029        (1) When the atomic string table is deleted it does not clear the 'inTable' bit
12030        on AtomicStrings - it implicitly assumes that all AtomicStrings have already
12031        been deleted at this point (otherwise they will crash in their destructor when
12032        they try to remove themselves from the atomic string table).
12033        (2) We don't fix the ordering in which WTF::WTFThreadData and
12034        WebCore::ThreadGlobalData are destructed.
12035
12036        We should make sure that ThreadGlobalData is cleaned up before worker threads
12037        terminate and WTF::WTFThreadData is destroyed, and we should clear the inTable
12038        bit of members on atomic string table destruction.
12039
12040        WTF changes (fix issue 2, above) - clean up the thread data on worker termination.
12041
12042        * platform/ThreadGlobalData.cpp:
12043        (WebCore::ThreadGlobalData::~ThreadGlobalData):
12044        (WebCore::ThreadGlobalData::destroy):
12045        * platform/ThreadGlobalData.h:
12046        * workers/WorkerThread.cpp:
12047        (WebCore::WorkerThread::workerThread):
12048
120492010-05-05  Dan Bernstein  <mitz@apple.com>
12050
12051        Reviewed by Simon Fraser.
12052
12053        <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
12054        https://bugs.webkit.org/show_bug.cgi?id=38427
12055
12056        Test: compositing/iframes/iframe-in-composited-layer.html
12057
12058        * WebCore.base.exp: Export FrameView::isEnclosedInCompositingLayer().
12059        * page/FrameView.cpp:
12060        (WebCore::FrameView::isEnclosedInCompositingLayer): Added this predicate.
12061        * page/FrameView.h:
12062
120632010-05-05  Chris Marrin  <cmarrin@apple.com>
12064
12065        Reviewed by Simon Fraser.
12066
12067        Got composited iframes showing up on Mac again
12068        https://bugs.webkit.org/show_bug.cgi?id=38565
12069
12070        This was broken by http://trac.webkit.org/changeset/58798. That
12071        change connected iframes through the parent document to the root
12072        of the layer tree. That is correct for Windows, but not for Mac.
12073        So the places where the linkage is made were wrapped in 
12074        shouldPropagateCompositingToIFrameParent() calls, which is 
12075        always false for Mac.
12076
12077        Test: compositing/iframes/composited-iframe-alignment.html
12078
12079        * rendering/RenderLayerCompositor.cpp:Avoid doing composited iframe linkage on Mac
12080        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
12081        (WebCore::RenderLayerCompositor::didMoveOnscreen):
12082        (WebCore::RenderLayerCompositor::willMoveOffscreen):
12083        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
12084
120852010-05-05  Alexey Proskuryakov  <ap@apple.com>
12086
12087        Reviewed by Darin Adler.
12088
12089        https://bugs.webkit.org/show_bug.cgi?id=38260
12090        <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().
12091
12092        Broken all the way since r4 (yes, that's a revision number).
12093
12094        Test: http/tests/security/xss-DENIED-javascript-with-spaces.html
12095
12096        * css/CSSHelper.cpp: (WebCore::deprecatedParseURL): Fixed loop conditions for remaining length.
12097
120982010-05-05  Chris Fleizach  <cfleizach@apple.com>
12099
12100        Reviewed by Beth Dakin.
12101
12102        Many AXUnknown showing up in the hierarchy
12103        https://bugs.webkit.org/show_bug.cgi?id=38607
12104
12105        The RenderTableSection should not be an accessible element.
12106
12107        Test: platform/mac/accessibility/parent-of-table-row-is-table.html
12108
12109        * accessibility/AccessibilityRenderObject.cpp:
12110        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
12111
121122010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12113
12114        Reviewed by Simon Hausmann.
12115
12116        [Qt]Disable Qt Multimedia backend for HTML 5 Audio and Video elements
12117        Fall back to the Phonon backend until the release situation has been cleared up.
12118
12119        https://bugs.webkit.org/show_bug.cgi?id=38612
12120
12121        Buildfix for QT_VERSION >= 0x040700 after r58810.
12122
12123        * platform/graphics/MediaPlayer.cpp:
12124
121252010-05-05  Jian Li  <jianli@chromium.org>
12126
12127        Reviewed by David Levin.
12128
12129        XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
12130        https://bugs.webkit.org/show_bug.cgi?id=37771
12131
12132        Test: http/tests/local/formdata/upload-events.html
12133
12134        * xml/XMLHttpRequest.cpp:
12135        (WebCore::XMLHttpRequest::createRequest):
12136
121372010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12138
12139        Reviewed by Simon Hausmann.
12140
12141        [Qt] Qt port should use its own QUuid class to create UUID string.
12142        https://bugs.webkit.org/show_bug.cgi?id=38581
12143
12144        * platform/UUID.cpp:
12145        (WebCore::createCanonicalUUIDString): Added PLATFORM(QT) case.
12146
121472010-05-05  Alexey Proskuryakov  <ap@apple.com>
12148
12149        Roll out r58830 for breaking tests.
12150
12151        Was: https://bugs.webkit.org/show_bug.cgi?id=38546
12152        Node.focus() fails to move focus from subframe properly
12153
12154        * html/HTMLFrameElementBase.cpp:
12155        (WebCore::HTMLFrameElementBase::setFocus):
12156
121572010-05-05  Jian Li  <jianli@chromium.org>
12158
12159        Reviewed by Adam Barth.
12160
12161        Implement FileReader class.
12162        https://bugs.webkit.org/show_bug.cgi?id=38157
12163
12164        This patch only contains the implementation of FileReader class as defined
12165        in the File API spec: http://www.w3.org/TR/file-upload/#dfn-filereader.
12166
12167        New test will be added when a IDL is exposed and the FILE_READER is turned
12168        on.
12169
12170        * GNUmakefile.am:
12171        * WebCore.gypi:
12172        * WebCore.pro:
12173        * WebCore.vcproj/WebCore.vcproj:
12174        * WebCore.xcodeproj/project.pbxproj:
12175        * dom/EventNames.h:
12176        * dom/EventTarget.cpp:
12177        (WebCore::EventTarget::toFileReader):
12178        * dom/EventTarget.h:
12179        * html/FileError.h:
12180        (WebCore::FileError::FileError):
12181        * html/FileReader.cpp: Added.
12182        * html/FileReader.h: Added.
12183        * html/FileStream.cpp:
12184        (WebCore::FileStream::FileStream):
12185        (WebCore::FileStream::openForRead):
12186        (WebCore::FileStream::close):
12187        (WebCore::FileStream::read):
12188        * html/FileStream.h:
12189
121902010-05-05  Steve Falkenburg  <sfalken@apple.com>
12191
12192        Reviewed by Maciej Stachowiak.
12193
12194        REGRESSION(r57969) Image decoder is repeatedly destroyed/created in CoreGraphics-based Windows WebKit
12195        https://bugs.webkit.org/show_bug.cgi?id=38595
12196
12197        * platform/graphics/cg/ImageSourceCG.cpp:
12198        (WebCore::ImageSource::setData):
12199
122002010-05-05  Alexey Proskuryakov  <ap@apple.com>
12201
12202        Reviewed by Adele Peterson.
12203
12204        https://bugs.webkit.org/show_bug.cgi?id=38546
12205        Node.focus() fails to move focus from subframe properly
12206
12207        Test: fast/frames/take-focus-from-iframe.html
12208
12209        * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setFocus): Don't clear
12210        focus if this frame doesn't have it. This can happen if page's and HTMLFrameElement's ideas
12211        of focused frame get out of sync temporarily.
12212
122132010-05-05  Alexey Proskuryakov  <ap@apple.com>
12214
12215        Reviewed by Adele Peterson.
12216
12217        https://bugs.webkit.org/show_bug.cgi?id=26824
12218        <rdar://problem/7018610> EventHandler can operate on a wrong frame if focus changes during
12219        keyboard event dispatch.
12220
12221        EventHandler object is tied to a frame, so it's wrong for it to continue processing a keyboard
12222        event if focused frame changes between keydown and keypress.
12223
12224        * manual-tests/focus-change-between-key-events.html: Added.
12225
12226        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Bail out early if focused frame
12227        changes while dispatching keydown. Also made similar changes for Windows to maintain matching
12228        behavior, even though EventHandler was re-entered anyway due to WM_KEYDOWN and WM_CHAR being
12229        separate events.
12230
122312010-05-05  Steve Block  <steveblock@google.com>
12232
12233        Reviewed by Adam Barth.
12234
12235        MediaError.h is missing PassRefPtr.h include
12236        https://bugs.webkit.org/show_bug.cgi?id=38575
12237
12238        No new tests, build fix only.
12239
12240        * html/MediaError.h:
12241
122422010-05-05  Alexander Pavlov  <apavlov@chromium.org>
12243
12244        Reviewed by Pavel Feldman.
12245
12246        Web Inspector: Audits panel: Resource counters get reset when switching panels while reloading page
12247        https://bugs.webkit.org/show_bug.cgi?id=38579
12248
12249        * inspector/front-end/AuditLauncherView.js:
12250        (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
12251        (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
12252
122532010-05-05  Pavel Feldman  <pfeldman@chromium.org>
12254
12255        Reviewed by Joseph Pecoraro.
12256
12257        Web Inspector: Doubleclick on line number should not trigger source editing.
12258
12259        https://bugs.webkit.org/show_bug.cgi?id=38588
12260
12261        * inspector/front-end/TextViewer.js:
12262        (WebInspector.TextViewer.prototype._handleDoubleClick):
12263
122642010-05-05  Martin Robinson  <mrobinson@webkit.org>
12265
12266        Reviewed by Gustavo Noronha.
12267
12268        [GTK] Enable DOM clipboard and drag-and-drop access
12269        https://bugs.webkit.org/show_bug.cgi?id=30623
12270
12271        Add support in the PasteboardHelper for images, in preparation for drag-and-drop data.
12272
12273        No new tests as functionality has not changed.
12274
12275        * platform/gtk/PasteboardHelper.cpp:
12276        (WebCore::PasteboardHelper::fillSelectionData): Add support for images here.
12277        (WebCore::PasteboardHelper::targetListForDataObject): Add support for images here.
12278
122792010-05-05  Stuart Morgan  <stuartmorgan@chromium.org>
12280
12281        Reviewed by Darin Fisher.
12282
12283        Add a "focused" parameter to Widget::setFocus, and updates Document
12284        so that Widget is informed of focus loss as well as focus gain.
12285        Changes all existing setFocus implementations so that they ignore
12286        the 'false' case, so no behavior is changed until individual
12287        platforms are updated to handle the new case (if they want to).
12288
12289        https://bugs.webkit.org/show_bug.cgi?id=37961
12290
12291        * dom/Document.cpp:
12292        (WebCore::Document::setFocusedNode):
12293        * platform/Widget.h:
12294        * platform/android/WidgetAndroid.cpp:
12295        (WebCore::Widget::setFocus):
12296        * platform/chromium/WidgetChromium.cpp:
12297        (WebCore::Widget::setFocus):
12298        * platform/efl/WidgetEfl.cpp:
12299        (WebCore::Widget::setFocus):
12300        * platform/gtk/WidgetGtk.cpp:
12301        (WebCore::Widget::setFocus):
12302        * platform/haiku/WidgetHaiku.cpp:
12303        (WebCore::Widget::setFocus):
12304        * platform/mac/WidgetMac.mm:
12305        (WebCore::Widget::setFocus):
12306        * platform/qt/WidgetQt.cpp:
12307        (WebCore::Widget::setFocus):
12308        * platform/win/WidgetWin.cpp:
12309        (WebCore::Widget::setFocus):
12310        * platform/wx/WidgetWx.cpp:
12311        (WebCore::Widget::setFocus):
12312        * plugins/PluginView.h:
12313        * plugins/PluginViewNone.cpp:
12314        (WebCore::PluginView::setFocus):
12315        * plugins/gtk/PluginViewGtk.cpp:
12316        (WebCore::PluginView::setFocus):
12317        * plugins/mac/PluginViewMac.cpp:
12318        (WebCore::PluginView::setFocus):
12319        * plugins/qt/PluginViewQt.cpp:
12320        (WebCore::PluginView::setFocus):
12321        * plugins/symbian/PluginViewSymbian.cpp:
12322        (WebCore::PluginView::setFocus):
12323        * plugins/win/PluginViewWin.cpp:
12324        (WebCore::PluginView::setFocus):
12325
123262010-05-05  Steve Block  <steveblock@google.com>
12327
12328        Reviewed by Pavel Feldman.
12329
12330        Move V8 ScriptDebugServer::topStackFrame() to ScriptCallStack
12331        https://bugs.webkit.org/show_bug.cgi?id=38531
12332
12333        ScriptCallStack::create() uses ScriptDebugServer::topStackFrame(), but ScriptDebugServer
12334        is guarded with ENABLE(JAVASCRIPT_DEBUGGER). This prevents ScriptCallStack from being
12335        built on platforms that do not define ENABLE(JAVASCRIPT_DEBUGGER).
12336
12337        No new tests, build fix only.
12338
12339        * bindings/v8/ScriptCallStack.cpp:
12340        (WebCore::ScriptCallStack::callLocation):
12341        (WebCore::ScriptCallStack::createUtilityContext): Helper for topStackFrame, moved from ScriptDebugServer
12342        (WebCore::ScriptCallStack::topStackFrame): Moved from ScriptDebugServer
12343        * bindings/v8/ScriptCallStack.h:
12344        (WebCore::ScriptCallStack::utilityContext): Helper for topStackFrame, moved from ScriptDebugServer
12345        * bindings/v8/ScriptDebugServer.cpp:
12346        * bindings/v8/ScriptDebugServer.h:
12347
123482010-05-05  Csaba Osztrogonác  <ossy@webkit.org>
12349
12350        Rubber-stamped by Simon Hausmann.
12351
12352        [Qt] REGRESSION(r56869): WinCE build is broken
12353        https://bugs.webkit.org/show_bug.cgi?id=36929
12354
12355        * WebCore.pro: LIBS += -lOle32 added.
12356
123572010-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
12358
12359        Reviewed by Tor Arne Vestbø.
12360
12361        [Qt] Disable Qt Multimedia backend for HTML 5 Audio and Video elements
12362
12363        Fall back to the Phonon backend until the release situation has been cleared up.
12364
12365        * WebCore.pro:
12366
123672010-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
12368
12369        Reviewed by Pavel Feldman.
12370
12371        WebInspector: Clickable links to resources should be used as 'details' part for the all suitable kinds of records.
12372        https://bugs.webkit.org/show_bug.cgi?id=38542
12373
12374        * inspector/front-end/TimelinePanel.js:
12375        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
12376        (WebInspector.TimelineRecordListRow):
12377        (WebInspector.TimelineRecordListRow.prototype.update):
12378        (WebInspector.TimelinePanel.FormattedRecord):
12379        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
12380        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
12381        (WebInspector.TimelinePanel.PopupContentHelper):
12382        (WebInspector.TimelinePanel.PopupContentHelper.prototype._createCell):
12383        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendTextRow):
12384        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
12385        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
12386
123872010-05-05  Nikolas Zimmermann  <nzimmermann@rim.com>
12388
12389        Not reviewed. Add missing files generated by "run-bindings-test", after the DOMTestCallback.idl addition.
12390
12391        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Added.
12392        (WebKit::kit):
12393        (webkit_dom_test_callback_callback_with_class1param):
12394        (webkit_dom_test_callback_callback_with_class2param):
12395        (webkit_dom_test_callback_callback_with_non_bool_return_type):
12396        (WebKit::wrapTestCallback):
12397        (WebKit::core):
12398        (webkit_dom_test_callback_finalize):
12399        (webkit_dom_test_callback_set_property):
12400        (webkit_dom_test_callback_get_property):
12401        (webkit_dom_test_callback_class_init):
12402        (webkit_dom_test_callback_init):
12403        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Added.
12404        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h: Added.
12405        * bindings/scripts/test/ObjC/DOMTestCallback.h: Added.
12406        * bindings/scripts/test/ObjC/DOMTestCallback.mm: Added.
12407        (-[DOMTestCallback dealloc]):
12408        (-[DOMTestCallback finalize]):
12409        (-[DOMTestCallback callbackWithClass1Param:]):
12410        (-[DOMTestCallback callbackWithClass2Param:strArg:]):
12411        (-[DOMTestCallback callbackWithNonBoolReturnType:]):
12412        (-[DOMTestCallback customCallback:class6Param:]):
12413        (core):
12414        (kit):
12415        * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: Added.
12416
124172010-05-05  Joseph Pecoraro  <joepeck@webkit.org>
12418
12419        Reviewed by Pavel Feldman.
12420
12421        Web Inspector: FontView needs Cleanup
12422        https://bugs.webkit.org/show_bug.cgi?id=38567
12423
12424        FontView was missing some of the newer practices for initialization
12425        that other Resource Views had. Also its width calculations could
12426        result in a single character wrapping. This is general cleanup.
12427
12428        * inspector/front-end/FontView.js:
12429        (WebInspector.FontView): move initialization into contentTabSelected
12430        (WebInspector.FontView.prototype.contentTabSelected): handle initialization like other Resource Views
12431        (WebInspector.FontView.prototype.updateFontPreviewSize): use a narrower width to prevent text from widowing
12432
124332010-05-05  Dirk Schulze  <krit@webkit.org>
12434
12435        Reviewed by Nikolas Zimmermann.
12436
12437        SVG hit testing is *way* too slow
12438        https://bugs.webkit.org/show_bug.cgi?id=19312
12439
12440        Use the cached stroke and fill boundaries in RenderPath as a heuristik to
12441        speed up SVG's hit testing.
12442
12443        No new tests added.
12444
12445        * rendering/RenderPath.cpp:
12446        (WebCore::RenderPath::fillContains):
12447        (WebCore::RenderPath::strokeContains):
12448
124492010-05-04  Dumitru Daniliuc  <dumi@chromium.org>
12450
12451        Reviewed by Adam Barth.
12452
12453        Auto-generate all Database callbacks.
12454        https://bugs.webkit.org/show_bug.cgi?id=38503
12455
12456        * DerivedSources.cpp:
12457        * DerivedSources.make:
12458        * GNUmakefile.am:
12459        * WebCore.gypi:
12460        * WebCore.pri:
12461        * WebCore.pro:
12462        * WebCore.vcproj/WebCore.vcproj:
12463        * WebCore.xcodeproj/project.pbxproj:
12464        * bindings/js/JSBindingsAllInOne.cpp:
12465        * bindings/js/JSCustomSQLStatementCallback.cpp: Removed.
12466        * bindings/js/JSCustomSQLStatementCallback.h: Removed.
12467        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12468        (WebCore::JSSQLStatementErrorCallback::handleEvent):
12469        * bindings/js/JSCustomSQLStatementErrorCallback.h: Removed.
12470        * bindings/js/JSCustomSQLTransactionCallback.cpp: Removed.
12471        * bindings/js/JSCustomSQLTransactionCallback.h: Removed.
12472        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Removed.
12473        * bindings/js/JSCustomSQLTransactionErrorCallback.h: Removed.
12474        * bindings/js/JSDatabaseCallback.cpp: Removed.
12475        * bindings/js/JSDatabaseCallback.h: Removed.
12476        * bindings/js/JSDatabaseCustom.cpp:
12477        (WebCore::JSDatabase::changeVersion):
12478        (WebCore::createTransaction):
12479        * bindings/js/JSSQLTransactionCustom.cpp:
12480        (WebCore::JSSQLTransaction::executeSql):
12481        * bindings/scripts/CodeGeneratorJS.pm:
12482        * bindings/scripts/test/JS/JSTestCallback.cpp:
12483        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Removed.
12484        * bindings/v8/custom/V8CustomSQLStatementCallback.h: Removed.
12485        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
12486        (WebCore::V8SQLStatementErrorCallback::handleEvent):
12487        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Removed.
12488        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Removed.
12489        * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Removed.
12490        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Removed.
12491        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Removed.
12492        * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
12493        * bindings/v8/custom/V8DatabaseCallback.h: Removed.
12494        * bindings/v8/custom/V8DatabaseCustom.cpp:
12495        (WebCore::V8Database::changeVersionCallback):
12496        (WebCore::createTransaction):
12497        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
12498        (WebCore::V8SQLTransaction::executeSqlCallback):
12499        * storage/DatabaseCallback.h:
12500        * storage/DatabaseCallback.idl: Added.
12501        * storage/SQLStatement.cpp:
12502        (WebCore::SQLStatement::performCallback):
12503        * storage/SQLStatementCallback.h:
12504        * storage/SQLStatementCallback.idl: Added.
12505        * storage/SQLStatementErrorCallback.idl: Added.
12506        * storage/SQLTransaction.cpp:
12507        (WebCore::SQLTransaction::deliverTransactionCallback):
12508        * storage/SQLTransactionCallback.h:
12509        * storage/SQLTransactionCallback.idl: Added.
12510        * storage/SQLTransactionErrorCallback.h:
12511        * storage/SQLTransactionErrorCallback.idl: Added.
12512
125132010-05-04  Chris Marrin  <cmarrin@apple.com>
12514
12515        Reviewed by Simon Fraser.
12516
12517        Made composited iframes work on Windows
12518        https://bugs.webkit.org/show_bug.cgi?id=32446
12519        
12520        This completes the work in http://trac.webkit.org/changeset/57919
12521        to create compositing layers in the parent document when an iframe has 
12522        a compositing layer. The parent document has a layer for the iframe 
12523        element and builds a layer tree to the page root. The layer tree for the
12524        iframe document is then parented to the iframe element's GraphicsLayer.
12525        
12526        The RenderLayerCompositor for the iframe document (which owns the
12527        root of the layer tree) now has a clippingLayer which is the 
12528        parent of the layer tree root so it can be clipped to the parent
12529        iframe's bounds, taking into account borders, padding, etc. in
12530        the parent iframe element.
12531        
12532        I also got rid of a no longer used function: RenderLayerCompositor::parentInRootLayer
12533
12534        Test: compositing/iframes/composited-parent-iframe.html
12535
12536        * rendering/RenderLayerBacking.cpp:Make calls to RenderLayerCompositor to set the clipping bounds for iframe content
12537        * rendering/RenderLayerCompositor.cpp:Hook the iframe content to the parent iframe element
12538        * rendering/RenderLayerCompositor.h:
12539
125402010-05-03  Alexey Proskuryakov  <ap@apple.com>
12541
12542        Reviewed by Adam Barth.
12543
12544        https://bugs.webkit.org/show_bug.cgi?id=38497
12545        <rdar://problem/7759438> Make sure that http URLs always have a host in SecurityOrigin
12546
12547        This is a hardening fix, and behavior really depends on what an underlying networking layer
12548        does. So, no test.
12549
12550        * page/SecurityOrigin.cpp:
12551        (WebCore::schemeRequiresAuthority): List schemes that need an authority for successful loading.
12552        (WebCore::SecurityOrigin::SecurityOrigin): Never let e.g. http origins with empty authorities
12553        have the same security origin.
12554
125552010-05-04  Zhenyao Mo  <zmo@google.com>
12556
12557        Reviewed by Dimitri Glazkov.
12558
12559        getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
12560        https://bugs.webkit.org/show_bug.cgi?id=38236
12561
12562        * html/canvas/CanvasObject.h: Add type check functions.
12563        (WebCore::CanvasObject::isBuffer):
12564        (WebCore::CanvasObject::isFramebuffer):
12565        (WebCore::CanvasObject::isProgram):
12566        (WebCore::CanvasObject::isRenderbuffer):
12567        (WebCore::CanvasObject::isShader):
12568        (WebCore::CanvasObject::isTexture):
12569        * html/canvas/WebGLBuffer.h: Add type check functions.
12570        (WebCore::WebGLBuffer::isBuffer):
12571        * html/canvas/WebGLFramebuffer.h: Add type check functions.
12572        (WebCore::WebGLFramebuffer::isFramebuffer):
12573        * html/canvas/WebGLProgram.h: Add type check functions.
12574        (WebCore::WebGLProgram::isProgram):
12575        * html/canvas/WebGLRenderbuffer.cpp: remove constructor using existing name.
12576        * html/canvas/WebGLRenderbuffer.h: Add type check functions; remove constructor using existing name.
12577        (WebCore::WebGLRenderbuffer::isRenderbuffer):
12578        * html/canvas/WebGLRenderingContext.cpp:
12579        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Return original Texture/Renderbuffer instead of creating new ones.
12580        (WebCore::WebGLRenderingContext::findTexture): Find a WebGLTexture using a name.
12581        (WebCore::WebGLRenderingContext::findRenderbuffer): Find a WebGLRenderbuffer using a name.
12582        * html/canvas/WebGLRenderingContext.h: Add find* functions.
12583        * html/canvas/WebGLShader.h: Add type check functions.
12584        (WebCore::WebGLShader::isShader):
12585        * html/canvas/WebGLTexture.cpp: remove constructor using existing name.
12586        * html/canvas/WebGLTexture.h: Add type check functions; remove constructor using existing name.
12587        (WebCore::WebGLTexture::isTexture):
12588
125892010-05-04  Luiz Agostini  <luiz.agostini@openbossa.org>
12590
12591        Reviewed by Simon Hausmann.
12592
12593        [Qt] QT_MOBILE_THEME compile time flag
12594        https://bugs.webkit.org/show_bug.cgi?id=38439
12595
12596        Replacing preprocessor conditional used in RenderThemeQt from Q_WS_MAEMO_5 to
12597        USE(QT_MOBILE_THEME).
12598
12599        * WebCore.pro:
12600        * platform/qt/RenderThemeQt.cpp:
12601        (WebCore::RenderThemeQt::RenderThemeQt):
12602        (WebCore::RenderThemeQt::qStyle):
12603        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
12604        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
12605        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
12606        * platform/qt/RenderThemeQt.h:
12607
126082010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
12609
12610        Reviewed by Dan Bernstein.
12611
12612        SVG fonts trigger GlyphPage::fill with null font
12613        https://bugs.webkit.org/show_bug.cgi?id=38530
12614
12615        SVG fonts do not use the glyph page cache. This change detects when
12616        attempting to fill a GlyphPage with an SVG font and indicates that
12617        the glyphs were not available.
12618
12619        * platform/graphics/GlyphPageTreeNode.cpp:
12620        (WebCore::fill): helper method which handles attempts to fill a GlyphPage with SVG or non-SVG fonts
12621        (WebCore::GlyphPageTreeNode::initializePage): use the helper where appropriate
12622
126232010-05-04  Kent Tamura  <tkent@chromium.org>
12624
12625        Reviewed by David Levin (and unofficially by Enrica Casucci).
12626
12627        REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
12628        if the text is like a URL
12629        https://bugs.webkit.org/show_bug.cgi?id=38374
12630
12631        Since r54368, documentFragmentFromDragData() creates an <a> element
12632        with no anchor text for URL-like text dragged from input/textarea
12633        element. If such text is dropped to input/textarea element, the text
12634        is not inserted.
12635        To fix this problem, use the original text or the URL as an anchor
12636        text.
12637
12638        Test: editing/pasteboard/drag-drop-url-text.html
12639
12640        * page/DragController.cpp:
12641        (WebCore::documentFragmentFromDragData):
12642
126432010-05-04  Steve Block  <steveblock@google.com>
12644
12645        Reviewed by Darin Adler.
12646
12647        JavaInstanceJSC.cpp and JNIUtilityPrivate.cpp need to include jni_jsobject.h for jlong_to_pt() and ptr_to_jlong()
12648        https://bugs.webkit.org/show_bug.cgi?id=38525
12649
12650        No new tests, build fix only.
12651
12652        * bridge/jni/jni_jsobject.h: Guard Mac-specific code with PLATFORM(MAC)
12653        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Include jni_jsobject.h
12654        * bridge/jni/jsc/JavaInstanceJSC.cpp: Include jni_jsobject.h
12655
126562010-05-04  Steve Block  <steveblock@google.com>
12657
12658        Reviewed by Darin Adler.
12659
12660        New FileSystemPOSIX functions cause linker errors on Android
12661        https://bugs.webkit.org/show_bug.cgi?id=38521
12662
12663        No new tests, build fix only.
12664
12665        * platform/android/FileSystemAndroid.cpp: Remove closeFile, which is provided in FileSystemPOSIX.cpp
12666        * platform/posix/FileSystemPOSIX.cpp: Guard writeToFile with !PLATFORM(ANDROID)
12667
126682010-05-04  Pavel Feldman  <pfeldman@chromium.org>
12669
12670        Reviewed by Timothy Hatcher.
12671
12672        Web Inspector: restore main and sidebar scroller positions
12673        when switching between panels.
12674
12675        https://bugs.webkit.org/show_bug.cgi?id=38522
12676
12677        * inspector/front-end/ElementsPanel.js:
12678        (WebInspector.ElementsPanel.prototype.elementsToRestoreScrollPositionsFor):
12679        * inspector/front-end/Panel.js:
12680        (WebInspector.Panel.prototype.show):
12681        (WebInspector.Panel.prototype.hide):
12682        (WebInspector.Panel.prototype.elementsToRestoreScrollPositionsFor):
12683        (WebInspector.Panel.prototype._storeScrollPositions):
12684        (WebInspector.Panel.prototype._restoreScrollPositions):
12685        * inspector/front-end/ResourcesPanel.js:
12686        (WebInspector.ResourcesPanel.prototype.elementsToRestoreScrollPositionsFor):
12687        * inspector/front-end/ScriptsPanel.js:
12688        (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
12689
126902010-05-04  Steven Lai  <steven_lai@asia.apple.com>
12691
12692        Reviewed by Darin Adler.
12693
12694        https://bugs.webkit.org/show_bug.cgi?id=37900
12695        <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits 
12696
12697        Tests: fast/dom/HTMLInputElement/clone-input-checked.html
12698               fast/dom/clone-node-z-index.html
12699
12700        * dom/Element.cpp: undid the order change of calling copyNonAttributeProperties() before setAttributes()
12701        (WebCore::Element::cloneElementWithoutChildren): uncheck the previous radio button in the same radio button group only when the checked radio box is appended to the dom tree
12702        * html/HTMLInputElement.cpp:
12703        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
12704        (WebCore::HTMLInputElement::attach):
12705        (WebCore::HTMLInputElement::setChecked):
12706        * html/HTMLInputElement.h:
12707
127082010-04-29  John Gregg  <johnnyg@google.com>
12709
12710        Reviewed by Dmitry Titov.
12711
12712        notifications should have dir and replaceId attributes.
12713        Note that tests are only enabled in Chromium, skipped elsewhere
12714        since notifications aren't implemented.
12715        https://bugs.webkit.org/show_bug.cgi?id=38336
12716
12717        Tests: fast/notifications/notifications-replace.html
12718               fast/notifications/notifications-rtl.html
12719
12720        * notifications/Notification.h:
12721        (WebCore::Notification::dir):
12722        (WebCore::Notification::setDir):
12723        (WebCore::Notification::replaceId):
12724        (WebCore::Notification::setReplaceId):
12725        * notifications/Notification.idl:
12726
127272010-05-04  Alejandro G. Castro  <alex@igalia.com>
12728
12729        Reviewed by Xan Lopez.
12730
12731        Fixed error defining the float/double minimum in the object
12732        properties, the smallest value of a float/double is
12733        -G_MAXDOUBLE/-G_MAXFLOAT.
12734
12735        * bindings/scripts/CodeGeneratorGObject.pm:
12736
127372010-05-03  Joseph Pecoraro  <joepeck@webkit.org>
12738
12739        Reviewed by Dan Bernstein.
12740
12741        REGRESSION: Text clipped in absolutely positioned search inputs
12742        https://bugs.webkit.org/show_bug.cgi?id=38468
12743
12744        Previously I incorrectly added x() and y() to the tx and ty positioning.
12745        This clips a search input like a text input, respecting the vertically
12746        centered text.
12747
12748        * rendering/RenderTextControlSingleLine.cpp:
12749        (WebCore::RenderTextControlSingleLine::layout): only the Y changes, so change setLocation to setY
12750        (WebCore::RenderTextControlSingleLine::controlClipRect):
12751
127522010-05-04  Alexander Pavlov  <apavlov@chromium.org>
12753
12754        Reviewed by Timothy Hatcher.
12755
12756        Web Inspector: REGRESSION: Up/Down, PgUp/PgDown keys do not change numeric style properties
12757        https://bugs.webkit.org/show_bug.cgi?id=38516
12758
12759        * inspector/front-end/StylesSidebarPane.js:
12760        (WebInspector.StylePropertyTreeElement.prototype):
12761
127622010-05-04  Ben Murdoch  <benm@google.com>
12763
12764        Reviewed by Simon Hausmann.
12765
12766        Crash in handleTouchEvent: using dangling node ptrs in hashmap
12767        https://bugs.webkit.org/show_bug.cgi?id=38514
12768
12769        When navigating away from a page, if you have your finger still
12770        pressed and then lift it on the new page we see a crash if the
12771        node got deleted as we still have a dangling pointer in the
12772        m_originatingTouchPointTargets hashmap and try to use it as the
12773        receiver to dispatch a touchend event.
12774
12775        Test: fast/events/touch/touch-stale-node-crash.html
12776
12777        * page/EventHandler.cpp:
12778        (WebCore::EventHandler::clear): Clear the hashmap of touch targets.
12779
127802010-05-04  Joseph Pecoraro  <joepeck@webkit.org>
12781
12782        Reviewed by Pavel Feldman.
12783
12784        Web Inspector: Drawer Misbehaving when Docking / Undocking in Console Panel
12785        https://bugs.webkit.org/show_bug.cgi?id=38510
12786
12787        * inspector/front-end/inspector.js:
12788        (WebInspector.set attached): resize the drawer after docking/undocking
12789
127902010-05-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
12791
12792        Unreviewed, build fix for Symbian.
12793
12794        [Symbian] Build fix after r58598. 
12795
12796        Use C99 integer types for the Symbian plugin
12797        implementation.
12798
12799        No new tests, as there is no new functionality.
12800
12801        * plugins/symbian/PluginPackageSymbian.cpp:
12802        (WebCore::PluginPackage::NPVersion):
12803        * plugins/symbian/PluginViewSymbian.cpp:
12804        (WebCore::PluginView::handlePostReadFile):
12805
128062010-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>
12807
12808        Reviewed by Dirk Schulze.
12809
12810        Split SVGCharacterLayoutInfo in smaller pieces
12811        https://bugs.webkit.org/show_bug.cgi?id=38513
12812
12813        Split SVGCharacterLayoutInfo into SVGCharacterLayoutInfo/SVGCharacterData and SVGTextChunkLayoutInfo.
12814        This is a preparation for more work in the text area.
12815
12816        * Android.mk: Add SVGCharacterData.(cpp|h) and SVGTextChunkLayoutInfo.h to build.
12817        * GNUmakefile.am: Ditto.
12818        * WebCore.gypi: Ditto.
12819        * WebCore.pro: Ditto
12820        * WebCore.vcproj/WebCore.vcproj: Ditto.
12821        * WebCore.xcodeproj/project.pbxproj: Ditto.
12822        * rendering/SVGCharacterData.cpp: Copied from rendering/SVGCharacterLayoutInfo.cpp.
12823        * rendering/SVGCharacterData.h: Copied from rendering/SVGCharacterLayoutInfo.h.
12824        (WebCore::SVGChar::SVGChar):
12825        * rendering/SVGCharacterLayoutInfo.cpp:
12826        (WebCore::SVGCharacterLayoutInfo::isInitialLayout): Introduced new helper function to share code between addLayoutInformation/addStackContent.
12827        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): Use new helper function.
12828        (WebCore::SVGCharacterLayoutInfo::addStackContent): Ditto
12829        * rendering/SVGCharacterLayoutInfo.h:
12830        * rendering/SVGRootInlineBox.h: Include new files.
12831        * rendering/SVGTextChunkLayoutInfo.h: Copied from rendering/SVGCharacterLayoutInfo.h.
12832
128332010-05-04  Xan Lopez  <xlopez@igalia.com>
12834
12835        Reviewed by Holger Freyther.
12836
12837        [GTK] GObject DOM bindings
12838        https://bugs.webkit.org/show_bug.cgi?id=33590
12839
12840        Use helper functions from CodeGenerator.pm to figure out whether a
12841        type is "fundamental" or not (basically whether it's anything
12842        other than a string or a non-pointer type).
12843
12844        * bindings/scripts/CodeGeneratorGObject.pm:
12845
128462010-04-30  Alexander Pavlov  <apavlov@chromium.org>
12847
12848        Reviewed by Yury Semikhatsky.
12849
12850        Web Inspector: REGRESSION: Disabled style properties are absent in Styles sidebar after WebInspector is re-opened
12851        https://bugs.webkit.org/show_bug.cgi?id=38255
12852
12853        Moved stylesheet-related mappings into a separate object stored
12854        in InspectorController rather than InspectorDOMAgent (which gets reset
12855        on every frontend [dis]connect).
12856
12857        * GNUmakefile.am:
12858        * WebCore.gypi:
12859        * WebCore.pro:
12860        * WebCore.vcproj/WebCore.vcproj:
12861        * WebCore.xcodeproj/project.pbxproj:
12862        * inspector/InspectorCSSStore.cpp: Added.
12863        (WebCore::InspectorCSSStore::InspectorCSSStore):
12864        (WebCore::InspectorCSSStore::~InspectorCSSStore):
12865        (WebCore::InspectorCSSStore::reset):
12866        * inspector/InspectorCSSStore.h: Added.
12867        * inspector/InspectorController.cpp:
12868        (WebCore::InspectorController::InspectorController):
12869        (WebCore::InspectorController::setFrontend):
12870        (WebCore::InspectorController::didCommitLoad):
12871        * inspector/InspectorController.h:
12872        * inspector/InspectorDOMAgent.cpp:
12873        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
12874        (WebCore::InspectorDOMAgent::discardBindings):
12875        (WebCore::InspectorDOMAgent::applyStyleText):
12876        (WebCore::InspectorDOMAgent::setStyleText):
12877        (WebCore::InspectorDOMAgent::setStyleProperty):
12878        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
12879        (WebCore::InspectorDOMAgent::setRuleSelector):
12880        (WebCore::InspectorDOMAgent::addRule):
12881        (WebCore::InspectorDOMAgent::bindStyle):
12882        (WebCore::InspectorDOMAgent::bindRule):
12883        (WebCore::InspectorDOMAgent::buildObjectForStyle):
12884        (WebCore::InspectorDOMAgent::buildObjectForRule):
12885        * inspector/InspectorDOMAgent.h:
12886        (WebCore::InspectorDOMAgent::create):
12887        (WebCore::InspectorDOMAgent::cssStore):
12888
128892010-05-04  Mikhail Naganov  <mnaganov@chromium.org>
12890
12891        Reviewed by Pavel Feldman.
12892
12893        Display "Recording..." item when recording an user-initiated CPU profile.
12894
12895        https://bugs.webkit.org/show_bug.cgi?id=38043
12896
12897        * English.lproj/localizedStrings.js:
12898        * inspector/front-end/ProfilesPanel.js:
12899        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
12900        (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
12901        (WebInspector.ProfilesPanel.prototype.showProfile):
12902        * inspector/front-end/inspector.js:
12903        (WebInspector.setRecordingProfile):
12904
129052010-05-04  Tucker Jay  <jay.tucker@nokia.com>
12906
12907        Reviewed by Holger Freyther.
12908
12909        Animated GIF images does not animate 10x as expected by default.
12910        https://bugs.webkit.org/show_bug.cgi?id=36818
12911
12912        Added test case to existing manual test to test the
12913        fixed functionality.
12914
12915        * manual-tests/qt/qt-10loop-anim.gif: Added.
12916        * manual-tests/qt/qt-gif-test.html:
12917        * platform/graphics/qt/ImageDecoderQt.cpp:
12918        (WebCore::ImageDecoderQt::repetitionCount):
12919
129202010-05-04  Dirk Schulze  <krit@webkit.org>
12921
12922        Unreviewed sort of XCodes project file.
12923
12924        * WebCore.xcodeproj/project.pbxproj:
12925
129262010-05-03  Steven Lai  <steven_lai@asia.apple.com>
12927
12928        Reviewed by Brady Eidson.
12929
12930        Reverted hashchange() event back to async.
12931        (This change does not update HashChangeEvent to its new proposed interface)
12932        https://bugs.webkit.org/show_bug.cgi?id=36201
12933        rdar://problem/7780794
12934        rdar://problem/7761278 (partial fix)
12935
12936        Tests: fast/loader/hashchange-event-async.html
12937
12938        * dom/Document.cpp: reverted hashchange() event back to async
12939        (WebCore::Document::enqueueHashchangeEvent):
12940
129412010-05-03  Holger Hans Peter Freyther  <zecke@selfish.org>
12942
12943        Rubber-stamped by Xan Lopez.
12944
12945        [Cairo,WX] Stop leaking a FontPlatformData.
12946        https://bugs.webkit.org/show_bug.cgi?id=37500
12947
12948        Stephan Aßmus pointed out that the pango font backend
12949        is leaking memory and fixed it. The WX font backend
12950        and the Cairo/Fontconfig backend have the same snippet
12951        of code and are leaking memory as well. This commit is
12952        fixing that.
12953
12954        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
12955        (WebCore::SimpleFontData::smallCapsFontData):
12956        * platform/graphics/wx/SimpleFontDataWx.cpp:
12957        (WebCore::SimpleFontData::smallCapsFontData):
12958
129592010-05-03  James Robinson  <jamesr@chromium.org>
12960
12961        Reviewed by Eric Seidel.
12962
12963        Clean up a few compiler warnings
12964        https://bugs.webkit.org/show_bug.cgi?id=38073
12965
12966        * html/TextMetrics.h:
12967        (WebCore::TextMetrics::width):
12968        * rendering/style/StyleRareInheritedData.h:
12969        * rendering/style/StyleRareNonInheritedData.h:
12970
129712010-05-02  Dumitru Daniliuc  <dumi@chromium.org>
12972
12973        Reviewed by Adam Barth.
12974
12975        Add the ability to auto-generate callbacks to all code generators.
12976        https://bugs.webkit.org/show_bug.cgi?id=38414
12977
12978        * bindings/scripts/CodeGeneratorJS.pm:
12979        * bindings/scripts/CodeGeneratorV8.pm:
12980        * bindings/scripts/test/JS/JSTestCallback.cpp: Added.
12981        (WebCore::JSTestCallback::JSTestCallback):
12982        (WebCore::JSTestCallback::~JSTestCallback):
12983        (WebCore::JSTestCallback::callbackWithClass1Param):
12984        (WebCore::JSTestCallback::callbackWithClass2Param):
12985        * bindings/scripts/test/JS/JSTestCallback.h: Added.
12986        (WebCore::JSTestCallback::create):
12987        * bindings/scripts/test/V8/JSTestCallback.cpp: Added.
12988        (WebCore::V8TestCallback::V8TestCallback):
12989        (WebCore::V8TestCallback::~V8TestCallback):
12990        (WebCore::V8TestCallback::callbackWithClass1Param):
12991        (WebCore::V8TestCallback::callbackWithClass2Param):
12992        * bindings/scripts/test/V8/V8TestCallback.h: Added.
12993        (WebCore::V8TestCallback::create):
12994        * bindings/scripts/test/TestCallback.idl: Added.
12995
129962010-05-03  Kevin Watters  <kevinwatters@gmail.com>
12997
12998        Reviewed by Kevin Ollivier.
12999
13000        [wx] Build and use Mac's ComplexTextController to support complex text in wx.
13001        https://bugs.webkit.org/show_bug.cgi?id=38482
13002
13003        * platform/graphics/FloatSize.h:
13004        * platform/graphics/GlyphBuffer.h:
13005        (WebCore::GlyphBuffer::advanceAt):
13006        (WebCore::GlyphBuffer::add):
13007        * platform/graphics/SimpleFontData.h:
13008        (WebCore::SimpleFontData::getNSFont):
13009        * platform/graphics/mac/ComplexTextController.cpp:
13010        * platform/graphics/mac/ComplexTextController.h:
13011        * platform/graphics/wx/FontCacheWx.cpp:
13012        (WebCore::FontCache::getFontDataForCharacters):
13013        (WebCore::FontCache::getLastResortFallbackFont):
13014        * platform/graphics/wx/FontPlatformData.h:
13015        (toCTFontRef):
13016        (WebCore::FontPlatformData::FontPlatformData):
13017        (WebCore::FontPlatformData::allowsLigatures):
13018        * platform/graphics/wx/FontPlatformDataWx.cpp:
13019        (WebCore::FontPlatformData::FontPlatformData):
13020        (WebCore::FontPlatformData::cgFont):
13021        * platform/graphics/wx/FontPlatformDataWxMac.mm: Added.
13022        (WebCore::FontPlatformData::nsFont):
13023        (WebCore::FontPlatformData::cacheNSFont):
13024        * platform/graphics/wx/FontWx.cpp:
13025        (WebCore::Font::canReturnFallbackFontsForComplexText):
13026        (WebCore::Font::selectionRectForComplexText):
13027        (WebCore::Font::drawComplexText):
13028        (WebCore::Font::floatWidthForComplexText):
13029        (WebCore::Font::offsetForPositionForComplexText):
13030        * platform/graphics/wx/SimpleFontDataWx.cpp:
13031        (WebCore::SimpleFontData::platformInit):
13032        (WebCore::SimpleFontData::containsCharacters):
13033        (WebCore::SimpleFontData::platformWidthForGlyph):
13034        * platform/wx/wxcode/fontprops.h:
13035        * platform/wx/wxcode/mac/carbon/fontprops.mm:
13036        (wxFontContainsCharacters):
13037        (GetTextExtent):
13038        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
13039        (WebCore::drawTextWithSpacing):
13040        * platform/wx/wxcode/win/fontprops.cpp:
13041        (wxFontContainsCharacters):
13042        * wscript:
13043
130442010-05-03  Abhishek Arya  <inferno@chromium.org>
13045
13046        Reviewed by Adam Barth.
13047
13048        Add support for controlling clipboard access from javascript.
13049        Clipboard access from javascript is disabled by default.
13050        https://bugs.webkit.org/show_bug.cgi?id=27751
13051
13052        Test: editing/execCommand/clipboard-access.html
13053
13054        * WebCore.base.exp:
13055        * editing/EditorCommand.cpp:
13056        (WebCore::supportedCopyCut):
13057        (WebCore::supportedPaste):
13058        (WebCore::createCommandMap):
13059        * page/Settings.cpp:
13060        (WebCore::Settings::Settings):
13061        (WebCore::Settings::setJavaScriptCanAccessClipboard):
13062        * page/Settings.h:
13063        (WebCore::Settings::javaScriptCanAccessClipboard):
13064
130652010-05-03  Alexey Proskuryakov  <ap@apple.com>
13066
13067        Reviewed by Adam Barth.
13068
13069        https://bugs.webkit.org/show_bug.cgi?id=38285
13070        <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab
13071
13072        Cannot be tested, because new windows created in DRT always have an opener, and thus inherit
13073        its security origin. Only new windows and tabs created by browser chrome had this problem.
13074
13075        * loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Moved updateSandboxFlags() call to
13076        the beginning, so that an initial document would get correct flags.
13077
130782010-05-03  Noam Rosenthal  <noam.rosenthal@nokia.com>
13079
13080        Reviewed by Darin Adler.
13081
13082        WebGL compile issue.
13083        Added ExceptionCode.h to JSWebGLArrayBufferConstructor.cpp, for some reason it was missing.
13084        https://bugs.webkit.org/show_bug.cgi?id=38453
13085
13086        No new tests: compile fix.
13087
13088        * bindings/js/JSWebGLArrayBufferConstructor.cpp:
13089
130902010-05-03  Eric Seidel  <eric@webkit.org>
13091
13092        Unreviewed, rolling out r58685.
13093        http://trac.webkit.org/changeset/58685
13094        https://bugs.webkit.org/show_bug.cgi?id=38461
13095
13096        Broke a test on Gtk
13097
13098        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13099        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13100
131012010-05-03  Yael Aharon  <yael.aharon@nokia.com>
13102
13103        Reviewed by Darin Adler.
13104
13105        Use HTML5 number parsing in HTMLProgressElement
13106        https://bugs.webkit.org/show_bug.cgi?id=38434
13107
13108        Use parseToDoubleForNumberType instead of toDouble.
13109        Throw an exception when the number is NaN or Infinity.
13110
13111        * html/HTMLProgressElement.cpp:
13112        (WebCore::HTMLProgressElement::value):
13113        (WebCore::HTMLProgressElement::setValue):
13114        (WebCore::HTMLProgressElement::max):
13115        (WebCore::HTMLProgressElement::setMax):
13116        * html/HTMLProgressElement.h:
13117        * html/HTMLProgressElement.idl:
13118
131192010-05-03  Jens Alfke  <snej@chromium.org>
13120
13121        Reviewed by Darin Fisher.
13122
13123        [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
13124        https://bugs.webkit.org/show_bug.cgi?id=38397
13125
13126        No tests (functionality is exposed only through native WebKit API.)
13127
13128        * html/HTMLFormElement.cpp:
13129        (WebCore::HTMLFormElement::prepareSubmit):  Call frame loader's dispatchWillSendSubmitEvent
13130        * loader/EmptyClients.h:
13131        * loader/FrameLoaderClient.h:
13132        (WebCore::FrameLoaderClient::dispatchWillSendSubmitEvent):  New empty method
13133
131342010-05-03  Philippe Normand  <pnormand@igalia.com>
13135
13136        Reviewed by Eric Carlson.
13137
13138        [GStreamer] forgotten call to durationChanged in updateStates()
13139        https://bugs.webkit.org/show_bug.cgi?id=38461
13140
13141        Notify MediaPlayer if duration is known after playback started.
13142
13143        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13144        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
13145
131462010-05-03  Ryuan Choi  <ryuan.choi@gmail.com>
13147
13148        Reviewed by Darin Adler.
13149
13150        fixing build break due to clearWatch() when Geolocation feature is
13151        disabled.
13152
13153        https://bugs.webkit.org/show_bug.cgi?id=38091
13154
13155        no test because this is a build fix only
13156
13157        * page/Geolocation.cpp:
13158        (WebCore::Geolocation::clearWatch):
13159
131602010-05-03  Stephan Aßmus  <superstippi@gmx.de>
13161
13162        Reviewed by Holger Freyther.
13163
13164        [Gtk] Fix leaking the FontPlatformData instance used to create the the
13165        small caps font data.
13166        https://bugs.webkit.org/show_bug.cgi?id=37500
13167
13168        No new tests needed.
13169
13170        * platform/graphics/gtk/SimpleFontDataPango.cpp:
13171        (WebCore::SimpleFontData::smallCapsFontData):
13172            - Use a stack allocated FontPlatformData instead of a heap allocated
13173              one that is never freed.
13174
131752010-05-03  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
13176
13177        Reviewed by Simon Hausmann.
13178
13179        [Qt] GraphicsLayer: support webGL
13180        https://bugs.webkit.org/show_bug.cgi?id=35388
13181
13182        Added support GraphicsContext3D to GraphicsLayer.
13183        Added paint method to GraphicsContext3D for Qt platform that
13184        uses drawTexture() when QGLWidget is used as viewport of
13185        QGraphicsWebView.
13186        Fine-tuned texture and handling and image to texture conversion to
13187        work also when drawTexture() blitting is used.
13188
13189        * platform/graphics/GraphicsContext3D.h:
13190        * platform/graphics/qt/GraphicsContext3DQt.cpp:
13191        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
13192        (WebCore::GraphicsContext3D::beginPaint):
13193        (WebCore::GraphicsContext3D::paint):
13194        (WebCore::GraphicsContext3D::texImage2D):
13195        (WebCore::GraphicsContext3D::texSubImage2D):
13196        (WebCore::GraphicsContext3D::getImageData):
13197        * platform/graphics/qt/GraphicsLayerQt.cpp:
13198        (WebCore::GraphicsLayerQtImpl::):
13199        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
13200        (WebCore::GraphicsLayerQtImpl::paint):
13201        (WebCore::GraphicsLayerQtImpl::flushChanges):
13202        (WebCore::GraphicsLayerQt::setContentsToGraphicsContext3D):
13203        (WebCore::GraphicsLayerQt::setGraphicsContext3DNeedsDisplay):
13204        * platform/graphics/qt/GraphicsLayerQt.h:
13205
132062010-05-03  Janne Koskinen  <janne.p.koskinen@digia.com>
13207
13208        Reviewed by Simon Hausmann.
13209
13210        [Qt] Fix qtlibraryinfix not to contain space
13211
13212        List catenation with += adds whitespace cutting the infix
13213        from the final target.
13214
13215        * WebCore.pro:
13216
132172010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
13218
13219        Reviewed by Simon Hausmann.
13220
13221        [Qt] Fix rendering of <button> elements on Mac OS X
13222
13223        The <button> element has ButtonPart appearance, not PushButton part,
13224        so we have to include ButtonPart when we decide if we should draw the
13225        button as raised on Mac OS X.
13226
13227        https://bugs.webkit.org/show_bug.cgi?id=38458
13228
13229        * platform/qt/RenderThemeQt.cpp:
13230        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
13231
132322010-04-30  Philippe Normand  <pnormand@igalia.com>
13233
13234        Reviewed by Eric Seidel.
13235
13236        [GStreamer] endless loop after playback ended
13237        https://bugs.webkit.org/show_bug.cgi?id=38384
13238
13239        At playback end ensure duration() will return a valid duration if
13240        we managed to calculate it based on current position.
13241
13242        Test: media/video-duration-known-after-eos.html
13243
13244        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
13245        (WebCore::MediaPlayerPrivateGStreamer::didEnd):
13246
132472010-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
13248
13249        [Qt] Fix build break on Mac OS X
13250
13251        * plugins/mac/PluginPackageMac.cpp: Use correct type
13252        * WebCore.pro: Remove duplicate symbol, we now have a Qt implementation
13253
132542010-05-03  Thomas Zander <t.zander@nokia.com>
13255
13256        Reviewed by Simon Hausmann.
13257
13258        [Qt] Fix library infix usage when compiling inside of Qt
13259
13260        Don't apply the infix when building inside Qt, as that's done through the
13261        inclusion of qbase.pri.
13262
13263        * WebCore.pro:
13264
132652010-05-02  Dan Bernstein  <mitz@apple.com>
13266
13267        Reviewed by Simon Fraser.
13268
13269        Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
13270        https://bugs.webkit.org/show_bug.cgi?id=38445
13271
13272        Test: editing/selection/mixed-editability-11.html
13273
13274        * dom/Position.cpp:
13275        (WebCore::downstreamIgnoringEditingBoundaries): Added. Returns the furthest visually equivalent
13276        position downstream, crossing any editability boundaries.
13277        (WebCore::upstreamIgnoringEditingBoundaries): Similarly for upstream.
13278        (WebCore::Position::getInlineBoxAndOffset): Changed the logic for finding an inline box for positions
13279        whose node is a block flow. Instead of traversing the DOM, advance downstream or upstream as far as
13280        possible, crossing any editability boudaries. Infinite recursion is avoided by advancing all the way
13281        and checking that the new position is different from the starting position. Also replaced the specific
13282        test for buttons with the generic and more comprehensive canHaveChildrenForEditing().
13283
132842010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
13285
13286        Reviewed by Simon Hausmann.
13287
13288        [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
13289        https://bugs.webkit.org/show_bug.cgi?id=38324
13290
13291        * platform/network/NetworkStateNotifier.h:
13292        * platform/network/qt/NetworkStateNotifierQt.cpp:
13293
132942010-04-29  Janne Koskinen  <janne.p.koskinen@digia.com>
13295
13296        Reviewed by Simon Hausmann.
13297
13298        [Qt] QtWebKit versioning added
13299        https://bugs.webkit.org/show_bug.cgi?id=37207
13300
13301        QtWebkit releases separated from Qt release cycle.
13302
13303        * WebCore.pro:
13304
133052010-05-02  Joseph Pecoraro  <joepeck@webkit.org>
13306
13307        Reviewed by Timothy Hatcher.
13308
13309        Web Inspector: Old Style trimWhitespace() should be trim()
13310        https://bugs.webkit.org/show_bug.cgi?id=38441
13311
13312        * inspector/front-end/SourceFrame.js:
13313        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
13314
133152010-05-02  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
13316
13317        Reviewed by Simon Hausmann.
13318
13319        [Qt] Fix compilation with QT_NO_LINEEDIT
13320        https://bugs.webkit.org/show_bug.cgi?id=38324
13321
13322        * platform/qt/RenderThemeQt.cpp:
13323        (WebCore::RenderThemeQt::~RenderThemeQt):
13324        (WebCore::RenderThemeQt::findFrameLineWidth):
13325
133262010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13327
13328        Not reviewed: Touch inspector controller to kick windows tests.
13329
13330        * inspector/InspectorController.cpp:
13331
133322010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13333
13334        Reviewed by Timothy Hatcher.
13335
13336        Web Inspector: IMG nodes are being added to the DOM tree late, sometimes hiding the revealed element.
13337
13338        https://bugs.webkit.org/show_bug.cgi?id=38432
13339
13340        * inspector/front-end/ElementsTreeOutline.js:
13341        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
13342        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
13343        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
13344        (WebInspector.ElementsTreeElement.prototype.updateTitle):
13345        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
13346        ():
13347
133482010-05-02  Dirk Schulze  <krit@webkit.org>
13349
13350        Reviewed by Nikolas Zimmermann.
13351
13352        SVG hkern implementation incomplete
13353        https://bugs.webkit.org/show_bug.cgi?id=38407
13354
13355        Test: svg/text/text-hkern.svg
13356
13357        The current SVG hkern implementation is incomplete and partly wrong. We pass the ACID3 test
13358        by accident.
13359        The new implementation supports all glyph and unicode combinations that are allowed by the Spec
13360        and fixes various of bugs. The parser moved from SVGFontElement to the general parsing code in
13361        SVGParserUtilities.
13362        Some clean-up makes the code more readable and reuseable for the upcoming vkern implementation.
13363        hkern support for text on path is missing and will be added by a following patch.
13364        Unicode strings of hkern elements are just parsed once and not on every glyph again anymore.
13365
13366        * rendering/SVGRootInlineBox.cpp:
13367        (WebCore::calculateCSSKerning):
13368        (WebCore::applySVGKerning):
13369        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
13370        * svg/SVGFontElement.cpp:
13371        (WebCore::stringMatchesUnicodeRange):
13372        (WebCore::stringMatchesGlyphName):
13373        (WebCore::matches):
13374        (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
13375        * svg/SVGFontElement.h:
13376        * svg/SVGHKernElement.cpp:
13377        (WebCore::SVGHKernElement::buildHorizontalKerningPair):
13378        * svg/SVGHKernElement.h:
13379        * svg/SVGParserUtilities.cpp:
13380        (WebCore::parseGlyphName):
13381        (WebCore::parseUnicodeRange):
13382        (WebCore::parseKerningUnicodeString):
13383        * svg/SVGParserUtilities.h:
13384
133852010-05-02  Pavel Feldman  <pfeldman@chromium.org>
13386
13387        Reviewed by Timothy Hatcher.
13388
13389        Web Inspector: debugger shortcuts are processed twice if source frame has focus.
13390
13391        https://bugs.webkit.org/show_bug.cgi?id=38431
13392
13393        * inspector/front-end/SourceFrame.js:
13394        (WebInspector.SourceFrame):
13395        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
13396
133972010-05-02  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
13398
13399        Reviewed by Eric Seidel.
13400
13401        [Qt] Build error in GraphicsContext3DQt.cpp
13402        https://bugs.webkit.org/show_bug.cgi?id=38382
13403
13404        Removed duplicate implementation of isGLES2Compliant from
13405        GraphicsContext3DQt.cpp. Removed deprecated API stuff for
13406        texImage2D/texSubImage2D.
13407        * platform/graphics/qt/GraphicsContext3DQt.cpp:
13408
134092010-05-02  Garret Kelly  <gdk@chromium.org>
13410
13411        Reviewed by David Levin.
13412
13413        Make the Touch RuntimeEnabledFeature disabled by default.
13414        https://bugs.webkit.org/show_bug.cgi?id=38392
13415
13416        * bindings/generic/RuntimeEnabledFeatures.cpp: Disable the Touch feature by default.
13417
134182010-05-02  Michael Nordman  <michaeln@google.com>
13419
13420        Reviewed by Dmitry Titov.
13421
13422        Define two new ResourceRequestBase TargetTypes for worker and shared worker
13423        main resources. Use the new target types where appropiate. Add logic to marshal
13424        the target type specified by requests initiated on a background worker thread.
13425
13426        https://bugs.webkit.org/show_bug.cgi?id=38295
13427
13428        No new tests. This doesn't have script visible artifacts.
13429
13430        * platform/network/ResourceRequestBase.cpp: marshal the values
13431        (WebCore::ResourceRequestBase::adopt):
13432        (WebCore::ResourceRequestBase::copyData):
13433        * platform/network/ResourceRequestBase.h:  define the types
13434        (WebCore::ResourceRequestBase::):
13435        * workers/DefaultSharedWorkerRepository.cpp: use TargetIsSharedWorker
13436        (WebCore::SharedWorkerScriptLoader::load):
13437        * workers/Worker.cpp: use TargetIsWorker
13438        (WebCore::Worker::Worker):
13439        * workers/WorkerContext.cpp: use TargetIsScript for importScripts
13440        (WebCore::WorkerContext::importScripts):
13441        * workers/WorkerScriptLoader.cpp: add a data member for the target type
13442        (WebCore::WorkerScriptLoader::WorkerScriptLoader):
13443        (WebCore::WorkerScriptLoader::createResourceRequest):
13444        * workers/WorkerScriptLoader.h:
13445
134462010-05-02  Noam Rosenthal  <noam.rosenthal@nokia.com>
13447
13448        Reviewed by Adele Peterson.
13449
13450        Webkit doesn't compile with 3D-canvas enabled and video disabled
13451        https://bugs.webkit.org/show_bug.cgi?id=38297
13452
13453        Added a #ifdef ENABLE(VIDEO) to WebGL code
13454
13455        No new tests: compile fix.
13456
13457        * bindings/js/JSWebGLRenderingContextCustom.cpp:
13458        (WebCore::JSWebGLRenderingContext::texImage2D):
13459        (WebCore::JSWebGLRenderingContext::texSubImage2D):
13460
134612010-05-01  Evan Stade  <estade@chromium.org>
13462
13463        Reviewed by David Levin.
13464
13465        [chromium] Skia needs to fade DragImages
13466        https://bugs.webkit.org/show_bug.cgi?id=38008
13467
13468        tested by DragImageTest
13469
13470        * platform/chromium/DragImageChromiumSkia.cpp:
13471        (WebCore::dissolveDragImageToFraction):implement
13472        (WebCore::createDragImageFromImage):deep copy instead of shallow
13473
134742010-05-01  Maciej Stachowiak  <mjs@apple.com>
13475
13476        Reviewed by Sam Weinig.
13477
13478        REGRESSION (r58273): Visited links do not change color immediately when Cmd-clicked
13479        https://bugs.webkit.org/show_bug.cgi?id=38422
13480        <rdar://problem/7921778>
13481
13482        Tests:
13483            manual-tests/visited-link-new-window.html
13484
13485        * css/CSSStyleSelector.cpp:
13486        (WebCore::CSSStyleSelector::initElement): Only cache the visited link state
13487        when invoked as part of a helper call to styleForElement or pseudoStyleForElement,
13488        to avoid caching the visited link state beyond the scope of a single style lookup.
13489        (WebCore::CSSStyleSelector::styleForElement): Adjust for above change.
13490        (WebCore::CSSStyleSelector::pseudoStyleForElement): Adjust for above change.
13491        * css/CSSStyleSelector.h:
13492        (WebCore::CSSStyleSelector::styleForElement): Change so "visited link helper mode"
13493        can't accidentally be called from outside CSSStyleSelector itself.
13494        (WebCore::CSSStyleSelector::pseudoStyleForElement): ditto
13495        * manual-tests/visited-link-new-window.html: Added. I could not figure out any way
13496        to make an automated test that supports visited link coloring.
13497
134982010-05-01  Yael Aharon  <yael.aharon@nokia.com>
13499
13500        Reviewed by Darin Adler.
13501
13502        Move number parsing code out of HTMLInputElement.
13503        https://bugs.webkit.org/show_bug.cgi?id=38203
13504
13505        The numebr parsing code follows HTML5 parsing rules and should be available outside of HTMLInputElement.
13506        No new tests as no new functionality was introduced.
13507
13508        * html/HTMLInputElement.cpp:
13509        * html/HTMLInputElement.h:
13510        * html/HTMLParser.cpp:
13511        (WebCore::serializeForNumberType):
13512        (WebCore::parseToDoubleForNumberType):
13513        * html/HTMLParser.h:
13514        * html/StepRange.cpp:
13515        (WebCore::StepRange::clampValue):
13516        (WebCore::StepRange::valueFromElement):
13517        * html/ValidityState.cpp:
13518        (WebCore::ValidityState::typeMismatch):
13519        * rendering/RenderSlider.cpp:
13520        (WebCore::RenderSlider::setValueForPosition):
13521
135222010-05-01  Xan Lopez  <xlopez@igalia.com>
13523
13524        Reviewed by Oliver Hunt.
13525
13526        [GTK] GObject DOM bindings
13527        https://bugs.webkit.org/show_bug.cgi?id=33590
13528
13529        Unify more logic to skip functions into SkipFunction, and
13530        whitelist the two [Custom] methods in HTMLCollection.idl.
13531
13532        * bindings/scripts/CodeGeneratorGObject.pm:
13533
135342010-05-01  Robert Hogan  <robert@webkit.org>
13535
13536        Reviewed by Simon Hausmann.
13537
13538        [Qt] Add smart paste support
13539
13540        https://bugs.webkit.org/show_bug.cgi?id=38136
13541
13542        * WebCore.pro:
13543        * editing/qt/SmartReplaceQt.cpp: Added.
13544        (WebCore::isCharacterSmartReplaceExempt):
13545        * platform/qt/PasteboardQt.cpp:
13546        (WebCore::Pasteboard::writeSelection):
13547        (WebCore::Pasteboard::canSmartReplace):
13548
135492010-04-30  Yoshiki Hayashi  <yhayashi@google.com>
13550
13551        Reviewed by Shinichiro Hamaji.
13552
13553        https://bugs.webkit.org/show_bug.cgi?id=38249
13554        
13555        Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.
13556
13557        Test: fast/flexbox/child-flexing.html
13558
13559        * rendering/RenderFlexibleBox.cpp:
13560        (WebCore::RenderFlexibleBox::allowedChildFlex):
13561
135622010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
13563
13564        Reviewed by Darin Adler.
13565
13566        Add layoutTestController.setPrinting()
13567        https://bugs.webkit.org/show_bug.cgi?id=37203
13568
13569        Use the renderer's width insteead of screen's width as the width of
13570        a screen depends on machines.
13571
13572        * rendering/RenderTreeAsText.cpp:
13573        (WebCore::externalRepresentation):
13574
135752010-04-30  Joseph Pecoraro  <joepeck@webkit.org>
13576
13577        Reviewed by Timothy Hatcher.
13578
13579        Web Inspector: Missing INSPECTOR Guard in Console::lastWMLErrorMessage
13580        https://bugs.webkit.org/show_bug.cgi?id=38366
13581
13582        Console::lastWMLErrorMessage is only available if WML is enabled, however
13583        its implementation only makes sense as long as INSPECTOR is enabled
13584        as well. So this adds the ENABLE(INSPECTOR) guard in the function. A
13585        browser without ENABLE(INSPECTOR) will always get an empty result.
13586
13587        * page/Console.cpp:
13588
135892010-04-28  Joseph Pecoraro  <joepeck@webkit.org>
13590
13591        Reviewed by Oliver Hunt.
13592
13593        REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
13594        https://bugs.webkit.org/show_bug.cgi?id=38253
13595
13596        Test: fast/css/input-search-padding.html
13597
13598        An <input type="search"> contains an inner block, which is explicitly
13599        centered in RenderTextControlSingleLine based on the height of the element.
13600        However, the clipping rect was not using the set location, and instead
13601        calculated off of the top border and padding alone. This also vertically
13602        centers the Caps Lock indicator.
13603
13604        * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
13605        * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
13606        * rendering/RenderTextControlSingleLine.cpp:
13607        (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
13608        (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
13609        * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
13610
136112010-04-30  Jon Honeycutt  <jhoneycutt@apple.com>
13612
13613        Caret may fail to blink if a focus handler brings up a modal dialog 
13614        https://bugs.webkit.org/show_bug.cgi?id=38372
13615
13616        Reviewed by Darin Adler.
13617
13618        * manual-tests/onfocus-alert-blinking-caret.html: Added.
13619
13620        * page/EventHandler.cpp:
13621        (WebCore::EventHandler::handleMousePressEvent):
13622        Moved the call to setCaretBlinkingSuspended() from here...
13623        (WebCore::EventHandler::handleMousePressEvent):
13624        ... to here. This makes us suspend caret blinking before dispatching the
13625        mouse down event. If dispatching the mouse down event allows the message
13626        loop to run, we want mouse up events received in that message loop to be
13627        able to resume caret blinking.
13628        (WebCore::EventHandler::lostMouseCapture):
13629        We've lost mouse capture and won't be notified of mouse up events;
13630        resume caret blinking.
13631
13632        * page/EventHandler.h:
13633        Declare lostMouseCapture().
13634
136352010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
13636
13637        Unreviewed, build fix.
13638
13639        [Chromium] Added a simple IdentifierRep struct and removed dependency on
13640        IdentifierRep.h.
13641
13642        * bindings/v8/V8NPObject.cpp: Added simple IdentifierRep struct.
13643
136442010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
13645
13646        Unreviewed, build fix.
13647
13648        [Chromium] Remove bridge/ from include paths.
13649
13650        * WebCore.gyp/WebCore.gyp: Removed bridge/ from include path.
13651
136522010-04-30  Abhishek Arya  <inferno@chromium.org>
13653
13654        Reviewed by David Kilzer.
13655
13656        Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
13657        Eliminated unused m_dragInitiator accessor to prevent dereferencing.
13658        https://bugs.webkit.org/show_bug.cgi?id=37618
13659
13660        Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
13661
13662        * page/DragController.cpp:
13663        (WebCore::DragController::tryDocumentDrag):
13664        (WebCore::DragController::concludeEditDrag):
13665        * page/DragController.h:
13666        (WebCore::DragController::draggingImageURL):
13667        (WebCore::DragController::documentUnderMouse):
13668
136692010-04-29  James Robinson  <jamesr@chromium.org>
13670
13671        Reviewed by Simon Fraser.
13672
13673        Calls FrameView::scrollPositionChanged whenever a ScrollView is scrolled
13674        https://bugs.webkit.org/show_bug.cgi?id=38286
13675
13676        When a ScrollView's  scroll position is changed, we have to call
13677        FrameView::scrollPositionChanged to generate repaint invalidation for
13678        fixed position elements.  This ends up getting called indirectly when
13679        the ScrollView has a platformWidget through the port layer
13680        (see WebHTMLView.mm's _frameOrBoundsChanged method for how the mac
13681        port does it) but not when there is no platformWidget.
13682
13683        This is tested by the fast/repaint/fixed-* tests when run in pixel
13684        mode.
13685
13686        Test: fast/repaint/fixed-move-after-keyboard-scroll.html
13687
13688        * page/FrameView.h:
13689        * platform/ScrollView.cpp:
13690        (WebCore::ScrollView::valueChanged):
13691        * platform/ScrollView.h:
13692        (WebCore::ScrollView::scrollPositionChanged):
13693
136942010-04-30  Anders Carlsson  <andersca@apple.com>
13695
13696        Reviewed by Darin Adler.
13697
13698        Use C99 integer types in more places.
13699
13700        * manual-tests/NPN_Invoke/main.c:
13701        (NPP_New):
13702        (NPP_NewStream):
13703        (NPP_WriteReady):
13704        (NPP_Write):
13705        (NPP_HandleEvent):
13706        (functionPointerForTVector):
13707        * plugins/mac/PluginViewMac.cpp:
13708        (WebCore::PluginView::platformGetValueStatic):
13709        (WebCore::PluginView::handlePostReadFile):
13710
137112010-04-30  Darin Adler  <darin@apple.com>
13712
13713        Reviewed by Oliver Hunt.
13714
13715        Remove unused scrollRectIntoViewRecursively function
13716        https://bugs.webkit.org/show_bug.cgi?id=38403
13717
13718        * page/Chrome.cpp:
13719        (WebCore::Chrome::scrollRectIntoView): Moved comment here that was previously
13720        in the scrollRectIntoViewRecursively function.
13721
13722        * platform/ScrollView.cpp: Get rid scrollRectIntoViewRecursively.
13723        * platform/ScrollView.h: Ditto. Fix comment that refers to the two functions.
13724        Also correct all uses of the term "method" to use the C++ term "function" and
13725        got rid of double spaces after periods.
13726
137272010-04-30  Anders Carlsson  <andersca@apple.com>
13728
13729        Another Qt build fix.
13730
13731        * plugins/qt/PluginViewQt.cpp:
13732        (WebCore::PluginView::platformGetValueStatic):
13733
137342010-04-30  Anders Carlsson  <andersca@apple.com>
13735
13736        Add back TRUE, FALSE and NULL macros. They were not meant to be removed!
13737
13738        * bridge/npapi.h:
13739
137402010-04-30  Anders Carlsson  <andersca@apple.com>
13741
13742        Try to fix the Qt build this time.
13743
13744        * plugins/qt/PluginPackageQt.cpp:
13745        (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
13746        (WebCore::PluginPackage::NPVersion):
13747
137482010-04-30  Anders Carlsson  <andersca@apple.com>
13749
13750        Yet another build fix.
13751
13752        * plugins/gtk/PluginPackageGtk.cpp:
13753        (WebCore::PluginPackage::NPVersion):
13754
137552010-04-30  Anders Carlsson  <andersca@apple.com>
13756
13757        Fix build.
13758
13759        * bridge/npapi.h:
13760
137612010-04-30  Jian Li  <jianli@chromium.org>
13762
13763        Reviewed by Darin Fisher.
13764
13765        [chromium] Add WebFileSystem interface and hook up with all FileSystem methods.
13766        https://bugs.webkit.org/show_bug.cgi?id=38228
13767
13768        * platform/chromium/ChromiumBridge.h:
13769        * platform/chromium/FileSystemChromium.cpp:
13770        (WebCore::openFile):
13771        (WebCore::closeFile):
13772        (WebCore::seekFile):
13773        (WebCore::truncateFile):
13774        (WebCore::readFromFile):
13775        (WebCore::writeToFile):
13776
137772010-04-30  Anders Carlsson  <andersca@apple.com>
13778
13779        Reviewed by Dan Bernstein.
13780
13781        Final part of 
13782        
13783        https://bugs.webkit.org/show_bug.cgi?id=20784
13784        move npapi.h to C99 integer types
13785
13786        * bridge/npapi.h:
13787        Remove the old types.
13788
137892010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>
13790
13791        Unreviewed, rolling out r58569.
13792        http://trac.webkit.org/changeset/58569
13793        https://bugs.webkit.org/show_bug.cgi?id=38399
13794
13795        This broke the GTK bots due to bad GC behavior (Requested by
13796        ericu on #webkit).
13797
13798        * bindings/js/JSWorkerContextCustom.cpp:
13799        * bindings/v8/custom/V8WorkerContextCustom.cpp:
13800        * storage/Database.idl:
13801        * storage/SQLError.idl:
13802        * storage/SQLResultSet.idl:
13803        * storage/SQLResultSetRowList.idl:
13804        * storage/SQLTransaction.idl:
13805        * workers/WorkerContext.cpp:
13806        (WebCore::WorkerContext::openDatabase):
13807        * workers/WorkerContext.h:
13808        (WebCore::WorkerContext::databaseExceededQuota):
13809        * workers/WorkerContext.idl:
13810
138112010-04-30  Anders Carlsson  <andersca@apple.com>
13812
13813        Fix GTK+ build.
13814
13815        * plugins/gtk/PluginViewGtk.cpp:
13816        (WebCore::PluginView::handlePostReadFile):
13817        (WebCore::PluginView::platformGetValueStatic):
13818
138192010-04-30  Anders Carlsson  <andersca@apple.com>
13820
13821        Fix Qt build.
13822
13823        * plugins/qt/PluginViewQt.cpp:
13824        (WebCore::PluginView::handlePostReadFile):
13825        (WebCore::PluginView::platformGetValue):
13826
138272010-04-30  Anders Carlsson  <andersca@apple.com>
13828
13829        Reviewed by Timothy Hatcher.
13830
13831        Next step towards fixing
13832        
13833        https://bugs.webkit.org/show_bug.cgi?id=20784
13834        move npapi.h to C99 integer types
13835
13836        Use the C99 types everywhere. The "old" types are still around but will be removed
13837        in a subsequent commit.
13838
13839        * bridge/npapi.h:
13840        (_NPCocoaEvent::):
13841        * plugins/PluginPackage.h:
13842        * plugins/PluginStream.cpp:
13843        (WebCore::PluginStream::deliverData):
13844        * plugins/PluginStream.h:
13845        * plugins/PluginView.cpp:
13846        (WebCore::PluginView::postURLNotify):
13847        (WebCore::PluginView::postURL):
13848        (WebCore::PluginView::write):
13849        (WebCore::PluginView::handlePost):
13850        * plugins/PluginView.h:
13851        * plugins/PluginViewNone.cpp:
13852        (WebCore::PluginView::handlePostReadFile):
13853        * plugins/npapi.cpp:
13854        (NPN_MemAlloc):
13855        (NPN_MemFlush):
13856        (NPN_PostURLNotify):
13857        (NPN_PostURL):
13858        (NPN_Write):
13859        * plugins/npfunctions.h:
13860        * plugins/win/PluginPackageWin.cpp:
13861        (WebCore::PluginPackage::NPVersion):
13862        * plugins/win/PluginViewWin.cpp:
13863        (WebCore::PluginView::handlePostReadFile):
13864
138652010-04-30  Peter Kasting  <pkasting@google.com>
13866
13867        Reviewed by David Levin.
13868
13869        Make all image decoders set the "failed" bit if an image could not be
13870        completely decoded, but no more data is coming.  The ICO and BMP
13871        decoders already did this.
13872        https://bugs.webkit.org/show_bug.cgi?id=35411
13873
13874        "Failed" does not cause the image to not be displayed, it simply causes
13875        us to not bother to try to decode again if future requests are made, and
13876        for some decoders, lets the decoder clean up some of its temporary
13877        objects.
13878
13879        No layout tests because this does not change the visible output of decoding in any way.
13880
13881        * platform/image-decoders/gif/GIFImageDecoder.cpp:
13882        (WebCore::GIFImageDecoder::frameComplete): Return whether the frame could be marked as complete.
13883        (WebCore::GIFImageDecoder::decode): Fail if read() needs more data (and thus returns false) and no more is coming.
13884        * platform/image-decoders/gif/GIFImageDecoder.h:
13885        * platform/image-decoders/gif/GIFImageReader.cpp:
13886        (GIFImageReader::do_lzw): Instead of returning true for buffer underrun and false for failure, return false for both and set the failure flag on failure.
13887        (GIFImageReader::read): Ditto.
13888        * platform/image-decoders/gif/GIFImageReader.h:
13889        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
13890        (WebCore::):
13891        (WebCore::JPEGImageReader::decode): See do_lzw() comment above.
13892        (WebCore::JPEGImageDecoder::decode): Fail if decode() needs more data (and thus returns false) and no more is coming.
13893        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
13894        * platform/image-decoders/png/PNGImageDecoder.cpp:
13895        (WebCore::PNGImageReader::decode): Return true for decode success, false for buffer underrun or decode failure, and set the failure flag on decode failure.
13896        (WebCore::PNGImageDecoder::decode): See JPEGImageDecoder::decode() comment above.
13897        * platform/image-decoders/png/PNGImageDecoder.h:
13898
138992010-04-30  Brady Eidson  <beidson@apple.com>
13900
13901        Reviewed by Eric Carlson.
13902
13903        <rdar://problem/7902467> - Audio plays upon loading of npr.org but shouldn't
13904
13905        No new tests. (Currently no way to test such site specific hack behavior)
13906
13907        * html/HTMLMediaElement.cpp:
13908        (WebCore::HTMLMediaElement::HTMLMediaElement):
13909        (WebCore::HTMLMediaElement::asyncEventTimerFired): If the event to be dispatched is the canplay
13910          event, wrap the dispatch with m_dispatchingCanPlayEvent set.
13911        (WebCore::HTMLMediaElement::play): If m_dispatchingCanPlayEvent is true and the site is npr.org, 
13912          don't perform the play().
13913        * html/HTMLMediaElement.h: Add m_dispatchingCanPlayEvent member.
13914
139152010-04-30  Dan Bernstein  <mitz@apple.com>
13916
13917        Reviewed by Adele Peterson.
13918
13919        Part of <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
13920        https://bugs.webkit.org/show_bug.cgi?id=6274
13921
13922        Account for glyph overflow of characters in the range U+1E00..U+2000, but without sending them
13923        through the complex text code path. Instead, introduce a variant of the fast path that tracks
13924        glyph overflow.
13925
13926        * platform/graphics/Font.cpp:
13927        (WebCore::Font::drawText): Use codePath().
13928        (WebCore::Font::floatWidth): Use codePath(). Pass the GlyphOverflow pointer through to
13929        floatWidthForSimpleText() if the code path is SimpleWithGlyphOverflow.
13930        (WebCore::Font::selectionRectForText): Use codePath().
13931        (WebCore::Font::offsetForPosition): Ditto.
13932        * platform/graphics/Font.h: Replaced canUseGlyphCache() with codePath(). Added a GlyphOverflow
13933        parameter to floatWidthForSimpleText().
13934        * platform/graphics/FontFastPath.cpp:
13935        Removed ROMAN_AND_GREEK_DIACRITICS_CAN_USE_GLYPH_CACHE.
13936        (WebCore::Font::codePath): Renamed canUseGlyphCache() to this. Where it used to return false,
13937        it now returns Complex. Where it used to return true, it now returns Simple, except for
13938        the range U+1E00..U+2000, where it now returns SimpleWithGlyphOverflow.
13939        (WebCore::Font::floatWidthForSimpleText): Added a GlyphOverflow parameter. If not 0, have the
13940        width iterator account for glyph bounds, then update the GlyphOverflow accordingly.
13941        * platform/graphics/WidthIterator.cpp:
13942        (WebCore::WidthIterator::WidthIterator): Added boolean parameter telling the width iterator
13943        whether to account for glyph bounds. Initialize m_accountForGlyphBounds accordingly. Initialize
13944        m_maxGlyphBoundingBoxY, m_minGlyphBoundingBoxY, m_firstGlyphOverflow and m_lastGlyphOverflow.
13945        (WebCore::WidthIterator::advance): If accounting for glyph bounds, update the above member variables.
13946        * platform/graphics/WidthIterator.h:
13947        (WebCore::WidthIterator::maxGlyphBoundingBoxY): Added this accessor.
13948        (WebCore::WidthIterator::minGlyphBoundingBoxY): Ditto.
13949        (WebCore::WidthIterator::firstGlyphOverflow): Ditto.
13950        (WebCore::WidthIterator::lastGlyphOverflow): Ditto.
13951
139522010-04-30  Chris Marrin  <cmarrin@apple.com>
13953
13954        Reviewed by Simon Fraser.
13955
13956        Reversed the order of the CSSMatrix.multiply method
13957        https://bugs.webkit.org/show_bug.cgi?id=38337
13958
13959        Test: transforms/svg-vs-css.xhtml
13960
13961        * css/WebKitCSSMatrix.cpp:
13962        (WebCore::WebKitCSSMatrix::multiply):
13963        * platform/graphics/transforms/TransformationMatrix.cpp:
13964
139652010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
13966
13967        Unreviewed. Attempt to fix the Chromium Mac build after the last commit.
13968
13969        * WebCore.gypi:
13970
139712010-04-30  Kevin Ollivier  <kevino@theolliviers.com>
13972
13973        Reviewed by Dan Bernstein.
13974
13975        Allow other ports to compile ATSUI and CoreText functions in SimpleFontData for Mac.
13976        https://bugs.webkit.org/show_bug.cgi?id=38334
13977
13978        * WebCore.xcodeproj/project.pbxproj:
13979        * platform/graphics/mac/SimpleFontDataATSUI.mm: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
13980        * platform/graphics/mac/SimpleFontDataCoreText.cpp: Copied from WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
13981        * platform/graphics/mac/SimpleFontDataMac.mm:
13982
139832010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
13984
13985        Reviewed by Simon Fraser.
13986
13987        SHOULD NEVER BE REACHED assertion loading forbes.com
13988        https://bugs.webkit.org/show_bug.cgi?id=38272
13989
13990        Ignore page media related pseudo classes.
13991
13992        Test: printing/pseudo-class-outside-page.html
13993
13994        * css/CSSStyleSelector.cpp:
13995        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
13996
139972010-04-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13998
13999        Unreviewed, build fix.
14000
14001        Fix compiler warning "suggest parentheses around"
14002
14003        No new tests as there is no new functionality.
14004
14005        * svg/SVGAnimateElement.cpp:
14006        (WebCore::SVGAnimateElement::calculateFromAndToValues):
14007
140082010-04-30  Kent Tamura  <tkent@chromium.org>
14009
14010        Unreviewed. Regression fix.
14011
14012        Revert a part of r58564 to be compatible with prior behavior
14013        https://bugs.webkit.org/show_bug.cgi?id=38383
14014
14015        * rendering/RenderTextControlSingleLine.cpp:
14016        (WebCore::RenderTextControlSingleLine::forwardEvent):
14017         r58564 made a region check for the cancel button stricter, but it
14018         made some tests failing on Chromium. So, relax the check again.
14019
140202010-04-29  Jeremy Orlow  <jorlow@chromium.org>
14021
14022        Reviewed by Darin Fisher.
14023
14024        Change StorageEvent.uri to StorageEvent.url to match the spec
14025        https://bugs.webkit.org/show_bug.cgi?id=38331
14026
14027        As I mentioned in http://www.mail-archive.com/public-webapps@w3.org/msg08495.html
14028        WebKit is the only one who places the document's URL in a 'uri' property
14029        rather than a 'url' property.  Even though we've shipped several versions of
14030        browsers with the old name, we probably should change this to comply with the
14031        spec.
14032
14033        This stuff is covered by existing tests.
14034
14035        * storage/StorageEvent.cpp:
14036        (WebCore::StorageEvent::create):
14037        (WebCore::StorageEvent::StorageEvent):
14038        (WebCore::StorageEvent::initStorageEvent):
14039        * storage/StorageEvent.h:
14040        (WebCore::StorageEvent::url):
14041        * storage/StorageEvent.idl:
14042
140432010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>
14044
14045        Reviewed by Dirk Schulze.
14046
14047        REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
14048        https://bugs.webkit.org/show_bug.cgi?id=38385
14049
14050        The last SVG performance patch broke repainting if bounds of a RenderPath get smaller.
14051        It would only repaint the smaller part, not the original larger bounds.
14052
14053        Remove all lazy calculation of the repaint rects, instead calculate object/strokeBoundingBox and repaintRectInLocalCoordinates
14054        once in layout - after LayoutRepainter grabbed the initial bounds, before calling repaintAfterLayout(). We can now inline
14055        all these functions, and save a lot of m_path.isEmpty() checks, which are expensive. No need to store a seperated markerBoundingBox(),
14056        combine with strokeBoundingBox() -> save one FloatRect per RenderPath. Move strokeBoundingBox() from SVGRenderBase to RenderObject,
14057        right next to objectBoundingBox() - to save unnecessary toSVGRenderBase() calls. Completly remove this method.
14058
14059        Overall this is a regression fix, a performance improvement and saves memory. Something for everyone.
14060
14061        Tests: svg/custom/repaint-stroke-width-changes.svg
14062
14063        * rendering/RenderObject.cpp: Added strokeBoundingBox() here, to avoid the toSVGRenderBase() dance.
14064        (WebCore::RenderObject::strokeBoundingBox):
14065        * rendering/RenderObject.h: Ditto.
14066        * rendering/RenderPath.cpp:
14067        (WebCore::RenderPath::RenderPath):
14068        (WebCore::RenderPath::layout): Fix regression, do repainting correctly, by recalculating the boundaries, if needed, instead of nulling them.
14069        (WebCore::RenderPath::paint): Cache SVGRenderStyle in local variable, remove no longer valid FIXME.
14070        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Return a FloatRect, to avoid having to store the marker bounding box seperated.
14071        (WebCore::RenderPath::styleWillChange): Mark boundaries as dirty.
14072        (WebCore::RenderPath::updateCachedBoundaries): New function to (re-)calculate all cached boundaries, only called from layout().
14073        * rendering/RenderPath.h: Rename cached rect variables to have more sensible names.
14074        (WebCore::RenderPath::objectBoundingBox): Inlined, just returns the cached value - no more lazy creation. Huge speedup as this is hot code.
14075        (WebCore::RenderPath::strokeBoundingBox): Ditto.
14076        (WebCore::RenderPath::repaintRectInLocalCoordinates): Ditto.
14077        * rendering/RenderSVGBlock.h: Remove toSVGRenderBase() method.
14078        * rendering/RenderSVGImage.h: Ditto.
14079        * rendering/RenderSVGInline.cpp: No need to call toSVGRenderBase() just to get the strokeBoundingBox(). Unifies code to retrieve bounding boxes.
14080        (WebCore::RenderSVGInline::strokeBoundingBox):
14081        * rendering/RenderSVGInline.h: Remove toSVGRenderBase() method.
14082        * rendering/RenderSVGModelObject.h: Ditto.
14083        * rendering/RenderSVGResourceFilter.cpp: No need to call toSVGRenderBase() anymore, just grab the strokeBoundingBox() from the RenderObject.
14084        (WebCore::RenderSVGResourceFilter::applyResource):
14085        * rendering/RenderSVGText.h: Remove toSVGRenderBase() method.
14086        * rendering/SVGRenderSupport.h: Ditto. Remove markerBoundingBox() method, now combined with strokeBoundingBox().
14087        (WebCore::SVGRenderBase::strokeBoundingBox):
14088        * rendering/SVGRootInlineBox.h: Remove toSVGRenderBase() method.
14089        * rendering/style/SVGRenderStyle.h: Add hasMarkers() helper method, to avoid doing unnecessary work in RenderPath.
14090        (WebCore::SVGRenderStyle::hasMarkers):
14091
140922010-04-30  Eric Uhrhane  <ericu@chromium.org>
14093
14094        Reviewed by Dmitry Titov.
14095
14096        Add bindings for async DB API in Workers.
14097        https://bugs.webkit.org/show_bug.cgi?id=34992
14098
14099        Tests: storage/change-version-handle-reuse-worker.html
14100               storage/execute-sql-args-worker.html
14101
14102        * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
14103        (WebCore::JSWorkerContext::openDatabase):
14104
14105        * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
14106        (WebCore::V8WorkerContext::openDatabaseCallback):
14107
14108        Add NoStaticTables flags to all objects now shared with workers.
14109        * storage/Database.idl:
14110        * storage/SQLError.idl:
14111        * storage/SQLResultSet.idl:
14112        * storage/SQLResultSetRowList.idl:
14113        * storage/SQLTransaction.idl:
14114        
14115        * workers/WorkerContext.h: Add databaseExceededQuota.
14116        * workers/WorkerContext.cpp:
14117        (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
14118        (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
14119
14120        Add the IDL for the call to openDatabase.
14121        * workers/WorkerContext.idl:
14122
141232010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>
14124
14125        Reviewed by Darin Adler.
14126
14127        Unnecessary PrintContext::end() calls
14128        https://bugs.webkit.org/show_bug.cgi?id=38247
14129
14130        Refactoring only, so no new tests.
14131
14132        * page/PrintContext.cpp:
14133        (WebCore::PrintContext::pageNumberForElement):
14134        (WebCore::PrintContext::numberOfPages):
14135
141362010-04-30  Kent Tamura  <tkent@chromium.org>
14137
14138        Reviewed by Adele Peterson.
14139
14140        Implement interactive behavior of spin buttons.
14141        https://bugs.webkit.org/show_bug.cgi?id=35686
14142
14143        Introduce SpinButtonElement. It is a shadow element class for
14144        spin buttons. If the upper side of the element is clicked, calls
14145        HTMLInputElement::stepUpFromRenderer(1). If the lower button is
14146        clicked, calls HTMLInputElement::stepUpFromRenderer(-1).
14147
14148        SpinButtonElement tracks the mouse pointer position, and
14149        RenderTheme sets ControlStates::SpinUpState if the pointer is on
14150        the upper side.
14151
14152        Test: platform/mac/fast/forms/input-number-click.html
14153
14154        * dom/Element.h:
14155        (WebCore::Element::isSpinButtonElement):
14156        * editing/VisibleSelection.cpp:
14157        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
14158         Remove an assertion. lastEditablePositionBeforePositionInRoot() can
14159         return null in a case that m_end is at a shadow element (a spin button)
14160         and baseRoot is another shadow element (inner text block) in the same
14161         node (an INPUT element).
14162        * html/HTMLInputElement.cpp:
14163        (WebCore::HTMLInputElement::stepUpFromRenderer):
14164        * html/HTMLInputElement.h:
14165        (WebCore::HTMLInputElement::hasSpinButton):
14166         Add types supporting step attribute except RANGE.
14167        * rendering/RenderTextControlSingleLine.cpp:
14168        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
14169        (WebCore::RenderTextControlSingleLine::forwardEvent):
14170        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
14171        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
14172        * rendering/RenderTextControlSingleLine.h:
14173        * rendering/RenderTheme.cpp:
14174        (WebCore::RenderTheme::controlStatesForRenderer):
14175        (WebCore::RenderTheme::isSpinUpButtonPartPressed):
14176        (WebCore::RenderTheme::isSpinUpButtonPartHovered):
14177        * rendering/RenderTheme.h:
14178        * rendering/TextControlInnerElements.cpp:
14179        (WebCore::SpinButtonElement::SpinButtonElement):
14180        (WebCore::SpinButtonElement::defaultEventHandler):
14181        * rendering/TextControlInnerElements.h:
14182        (WebCore::SpinButtonElement::isSpinButtonElement):
14183        (WebCore::SpinButtonElement::isEnabledFormControl):
14184        (WebCore::SpinButtonElement::onUpButton):
14185
141862010-04-30  Yael Aharon  <yael.aharon@nokia.com>
14187
14188        Reviewed by Kenneth Rohde Christiansen.
14189
14190        [Qt] Enable DOMWindow constructor for HTMLProgressElement
14191        https://bugs.webkit.org/show_bug.cgi?id=38333
14192
14193        Add ENABLE_PROGRESS_TAG to FEATURES_DEFINES_JAVASCRIPT.
14194
14195        * WebCore.pri:
14196
141972010-04-30  Kent Tamura  <tkent@chromium.org>
14198
14199        Reviewed by Adele Peterson.
14200
14201        Mac implementation of outer-spin-button appearance, and anonymous
14202        element generation for <input type=number>.
14203        https://bugs.webkit.org/show_bug.cgi?id=32813
14204
14205        The implementation uses NSStepperCell. Like the other Mac
14206        controls, it has only three candidates for sizes.
14207
14208        The editable block of an input element is shrunk, and the
14209        anonymous block for a spin button is put on the right of the
14210        editable block.
14211
14212        Tests: platform/mac/fast/forms/input-appearance-spinbutton-size.html
14213               platform/mac/fast/forms/input-appearance-spinbutton.html
14214
14215        * dom/Element.cpp:
14216        (WebCore::Element::pseudoStyleCacheIsInvalid):
14217        * dom/InputElement.h:
14218        (WebCore::InputElement::hasSpinButton):
14219        * html/HTMLInputElement.h:
14220        (WebCore::HTMLInputElement::hasSpinButton): Return true for NUMBER type.
14221        * platform/mac/ThemeMac.mm:
14222        (WebCore::sizeFromNSControlSize): Split the main part of sizeFromFont()
14223          to this in order to use stepperControlSizeForFont() instead of
14224          controlSizeForFont().
14225        (WebCore::sizeFromFont): Just calls sizeFromNSControlSize() with
14226          sizeFromFont(). No behavior changes.
14227        (WebCore::stepperSizes): Returns sizes for mini, small, and regular.
14228        (WebCore::stepperControlSizeForFont):
14229          Dedicated version of controlSizeForFont().
14230        (WebCore::stepper): Returns NSStepperCell object with specified settings.
14231        (WebCore::paintStepper):
14232        (WebCore::ThemeMac::controlSize): Support for OuterSpinButton.
14233        (WebCore::ThemeMac::minimumControlSize): ditto.
14234        (WebCore::ThemeMac::inflateControlPaintRect): ditto.
14235        (WebCore::ThemeMac::paint): ditto.
14236        * rendering/RenderBox.cpp:
14237        (WebCore::RenderBox::paintBoxDecorations):
14238          Move the content to paintBoxDecorationsWithSize().
14239        (WebCore::RenderBox::paintBoxDecorationsWithSize):
14240        * rendering/RenderBox.h: Declare paintBoxDecorationsWithSize().
14241        * rendering/RenderTextControlSingleLine.cpp:
14242        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
14243        (WebCore::RenderTextControlSingleLine::paintBoxDecorations):
14244          Call paintBoxDecorationsWithSize() with smaller width by decorationWidthRight().
14245        (WebCore::RenderTextControlSingleLine::addFocusRingRects):
14246          Add a rectangle of which width is smaller by decorationWidthRight().
14247        (WebCore::RenderTextControlSingleLine::layout):
14248          Adjust m_outerSpinButton position.
14249        (WebCore::RenderTextControlSingleLine::styleDidChange):
14250        (WebCore::RenderTextControlSingleLine::textBlockWidth):
14251        (WebCore::RenderTextControlSingleLine::decorationWidthRight):
14252        (WebCore::RenderTextControlSingleLine::preferredDecorationWidthRight):
14253        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
14254          Creates an element for m_outerSpinButton if it is needed.
14255        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
14256        (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
14257        * rendering/RenderTextControlSingleLine.h: Declare new methods and m_outerSpinButton.
14258        * rendering/RenderThemeMac.mm:
14259        (WebCore::RenderThemeMac::adjustRepaintRect): Support for OuterSpinButton.
14260
142612010-04-29  Adam Barth  <abarth@webkit.org>
14262
14263        Unreviewed.  Update JSC CodeGenerator baseline.  Not sure how I missed
14264        this one earlier.
14265
14266        * bindings/scripts/test/JS/JSTestObj.cpp:
14267        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
14268
142692010-04-29  Justin Garcia  <justin.garcia@apple.com>
14270
14271        Reviewed by Adele Peterson.
14272
14273        Need to updateLayout after typing commands too
14274        https://bugs.webkit.org/show_bug.cgi?id=38352
14275
14276        Replaced !m_parent checks in EditCommand.cpp by the more descriptive isTopLevelCommand().
14277        Move the post editing operation updateLayout() call to {un,re}appliedEditing so that text insertions,
14278        which don't go through EditCommand::{un,re}apply() can benefit from it too.  No test case possible
14279        since most platforms have a layout performed as a side effect of post operation selection code.
14280
14281        * editing/EditCommand.cpp:
14282        (WebCore::EditCommand::apply):
14283        (WebCore::EditCommand::unapply):
14284        (WebCore::EditCommand::reapply):
14285        * editing/EditCommand.h:
14286        (WebCore::EditCommand::isTopLevelCommand):
14287        * editing/Editor.cpp:
14288        (WebCore::Editor::appliedEditing):
14289        (WebCore::Editor::unappliedEditing):
14290        (WebCore::Editor::reappliedEditing):
14291
142922010-04-29  Dan Bernstein  <mitz@apple.com>
14293
14294        Reviewed by Simon Fraser.
14295
14296        <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
14297        https://bugs.webkit.org/show_bug.cgi?id=38350
14298
14299        Tests: media/audio-only-video-intrinsic-size.html
14300               media/media-document-audio-size.html
14301
14302        * rendering/RenderVideo.cpp:
14303        (WebCore::RenderVideo::RenderVideo): Until metadata is available, ignore the natural size
14304        reported by the player.
14305        (WebCore::RenderVideo::videoSizeChanged): Respect a natural size of zero if reported by the
14306        player, except in standalone media documents.
14307
143082010-04-29  Anders Carlsson  <andersca@apple.com>
14309
14310        Reviewed by Dan Bernstein.
14311
14312        First part of
14313        https://bugs.webkit.org/show_bug.cgi?id=20784
14314        move npapi.h to C99 integer types.
14315
14316        Add nptypes.h to the build.
14317
14318        * WebCore.xcodeproj/project.pbxproj:
14319        * bridge/npapi.h:
14320        * bridge/npruntime.h:
14321        * bridge/nptypes.h: Added.
14322
143232010-04-29  Xan Lopez  <xlopez@igalia.com>
14324
14325        Rubber-stamped by Adam Barth.
14326
14327        Update GObject bindings test results. We are actually moving
14328        backwards here, but we'll update them again when we figure out
14329        what broke.
14330
14331        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
14332        (webkit_dom_test_obj_set_property):
14333        (webkit_dom_test_obj_get_property):
14334
143352010-04-29  Sam Weinig  <sam@webkit.org>
14336
14337        Reviewed by Anders Carlsson.
14338
14339        Fix for https://bugs.webkit.org/show_bug.cgi?id=38277
14340        MiniBrowser: -[WebCoreFlippedView currentEditor]: unrecognized selector
14341
14342        * platform/mac/ThemeMac.mm:
14343        (-[WebCoreFlippedView currentEditor]): Added currentEditor nil implementation.
14344
143452010-04-29  Adam Barth  <abarth@webkit.org>
14346
14347        Reviewed by Eric Seidel.
14348
14349        CodeGeneratorJS.pm should be consistent about castedThis versus castedThisObj
14350        https://bugs.webkit.org/show_bug.cgi?id=38338
14351
14352        Currently CodeGeneratorJS.pm uses castThis for methods and
14353        castedThisObj for attributes.  This inconsistency makes it difficult to
14354        factor common code genereration code into methods shared by both kinds
14355        of bindings.  This match aligns the names so that a future patch (e.g.,
14356        in https://bugs.webkit.org/show_bug.cgi?id=38313) can reduce copy/paste
14357        code.
14358
14359        * bindings/scripts/CodeGeneratorJS.pm:
14360        * bindings/scripts/test/JS/JSTestObj.cpp:
14361        (WebCore::setJSTestObjIntAttr):
14362        (WebCore::setJSTestObjLongLongAttr):
14363        (WebCore::setJSTestObjUnsignedLongLongAttr):
14364        (WebCore::setJSTestObjStringAttr):
14365        (WebCore::setJSTestObjTestObjAttr):
14366        (WebCore::setJSTestObjAttrWithException):
14367        (WebCore::setJSTestObjAttrWithSetterException):
14368        (WebCore::setJSTestObjAttrWithGetterException):
14369        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
14370        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
14371        (WebCore::jsTestObjPrototypeFunctionIntMethod):
14372        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
14373        (WebCore::jsTestObjPrototypeFunctionObjMethod):
14374        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
14375        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
14376        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
14377        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
14378        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
14379        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
14380        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
14381        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
14382        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
14383        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
14384        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
14385        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
14386        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
14387        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
14388        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
14389        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
14390        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
14391        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
14392        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
14393
143942010-04-29  Gustavo Noronha Silva  <gustavo.noronhaollabora.co.uk>
14395
14396        Reviewed by Xan Lopez.
14397
14398        [GTK] pointerCursor should use the default cursor set for the window, not GDK_LEFT_PTR
14399        https://bugs.webkit.org/show_bug.cgi?id=36963
14400
14401        Use the default cursor instead of hard-coding left pointer.
14402
14403        * platform/gtk/CursorGtk.cpp:
14404        (WebCore::Cursor::Cursor):
14405        (WebCore::pointerCursor):
14406
144072010-04-29  Ilya Tikhonovsky  <loislo@chromium.org>
14408
14409        Reviewed by Yury Semikhatsky.
14410
14411        WebInspector: If Timeline panel is in recording mode and is not visible and has received
14412        new events then these events do not appear in the panel when the panel becomes visible.
14413        Timeline popup may appear in the upper left window corner when you switch to another panel.
14414        https://bugs.webkit.org/show_bug.cgi?id=38322
14415
14416        * inspector/front-end/Popover.js:
14417        (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
14418        (WebInspector.PopoverHelper.prototype._mouseMove):
14419        (WebInspector.PopoverHelper.prototype.hidePopup):
14420        (WebInspector.PopoverHelper.prototype._hidePopup):
14421        * inspector/front-end/TimelinePanel.js:
14422        (WebInspector.TimelinePanel.prototype.show):
14423        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
14424        (WebInspector.TimelinePanel.prototype._refresh):
14425
144262010-04-29  Anton Muhin  <antonm@chromium.org>
14427
14428        Reviewed by Darin Adler.
14429
14430        Let's cache nodelists instead of DynamicNodeList::Caches
14431        https://bugs.webkit.org/show_bug.cgi?id=33696
14432
14433        Test: fast/dom/Element/node-list-identity.html
14434
14435        * bindings/js/JSNodeCustom.cpp:
14436        (WebCore::JSNode::markChildren): Mark all cached node lists as well
14437        * dom/ClassNodeList.cpp:
14438        (WebCore::ClassNodeList::ClassNodeList): Don't need DynamicNodeList::Caches argument any more
14439        (WebCore::ClassNodeList::~ClassNodeList): Remove from the cache
14440        * dom/ClassNodeList.h: Added a field with original class names to be used as a key for removal from the cache
14441        (WebCore::ClassNodeList::create): Don't need DynamicNodeList::Caches argument any more
14442        * dom/NameNodeList.cpp:
14443        (WebCore::NameNodeList::NameNodeList): Don't need DynamicNodeList::Caches argument any more
14444        (WebCore::NameNodeList::~NameNodeList): Remove from the cache
14445        * dom/NameNodeList.h:
14446        (WebCore::NameNodeList::create): Don't need DynamicNodeList::Caches argument any more
14447        * dom/Node.cpp:
14448        (WebCore::Node::removeCachedClassNodeList): Remove ClassNodeList from the cache
14449        (WebCore::Node::removeCachedNameNodeList): Remove NameNodeList from the cache
14450        (WebCore::Node::removeCachedTagNodeList): Remove TagNodeList from the cache
14451        (WebCore::Node::getElementsByTagNameNS): Switch to caching node lists themselves, not the data
14452        (WebCore::Node::getElementsByName): Switch to caching node lists themselves, not the data
14453        (WebCore::Node::getElementsByClassName): Switch to caching node lists themselves, not the data
14454        (WebCore::NodeListsNodeData::invalidateCaches): Switch to caching node lists themselves, not the data
14455        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Switch to caching node lists themselves, not the data
14456        (WebCore::NodeListsNodeData::isEmpty): Switch to caching node lists themselves, not the data
14457        (WebCore::markNodeLists): Helper to mark all the node lists in the cache
14458        (WebCore::Node::markCachedNodeListsSlow): Mark all the cached node lists if any could be present
14459        * dom/Node.h:
14460        (WebCore::Node::markCachedNodeLists): Fast-path marking of cached node lists---bails out if there is no rare data
14461        * dom/NodeRareData.h: Changed type of caches to hold raw pointers to node lists, not RefPtr's to data
14462        * dom/TagNodeList.cpp:
14463        (WebCore::TagNodeList::TagNodeList): Don't need DynamicNodeList::Caches argument any more
14464        (WebCore::TagNodeList::~TagNodeList): Remove from the cache
14465        * dom/TagNodeList.h:
14466        (WebCore::TagNodeList::create): Don't need DynamicNodeList::Caches argument any more
14467
144682010-04-29  Mikhail Naganov  <mnaganov@chromium.org>
14469
14470        Reviewed by Yury Semikhatsky.
14471
14472        [Chromium] Update ScriptProfileNode to retrieve execution time in milliseconds.
14473
14474        https://bugs.webkit.org/show_bug.cgi?id=38330
14475
14476        * bindings/v8/ScriptProfileNode.cpp:
14477        (WebCore::ScriptProfileNode::totalTime):
14478        (WebCore::ScriptProfileNode::selfTime):
14479
144802010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>
14481
14482        Reviewed by Darin Adler.
14483
14484        A form without a submit button unexpectedly performs its action when Return is pressed
14485        https://bugs.webkit.org/show_bug.cgi?id=9756
14486
14487        Implemented implicit form submission algorithm as defined in HTML5 spec:
14488        http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#implicit-submission,
14489        falling back to match IE's behavior in the edge cases.
14490
14491        The underlying rules are:
14492
14493        * If the form has no enabled submit buttons, submit if Enter/Return is pressed on the only single-line text field.
14494
14495        * Otherwise, submit form using first enabled submit button if Enter/Return is pressed on a field
14496          that's not a textarea or a select.
14497
14498        Test: fast/forms/implicit-submission.html
14499
14500        * dom/SelectElement.cpp:
14501        (WebCore::SelectElement::menuListDefaultEventHandler): Ripped out implicit submission for select elements.
14502        (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
14503        (WebCore::SelectElement::defaultEventHandler): Ditto.
14504        * dom/SelectElement.h: Ditto.
14505        (WebCore::HTMLFormElement::submitImplicitly): Renamed submitClick to submitImplicitly to better match HTML5 spec
14506            language, changed the logic to match the rules above.
14507        * html/HTMLInputElement.cpp:
14508        (WebCore::HTMLInputElement::defaultEventHandler): Reamed clickDefaultButton to implicitSubmission to better match
14509            HTML5 spec language, made radio element to trigger implicit submission.
14510        * html/HTMLSelectElement.cpp:
14511        (WebCore::HTMLSelectElement::defaultEventHandler): Removed passing of form() as parameter, because it's no longer
14512            necessary.
14513
145142010-04-29  Paweł Hajdan, Jr.  <phajdan.jr@chromium.org>
14515
14516        Reviewed by Jeremy Orlow.
14517
14518        Fix building with libpng-1.4.
14519        https://bugs.webkit.org/show_bug.cgi?id=33287
14520
14521        No new tests (no behavior change).
14522
14523        Original patch by John Bowler <jbowler@acm.org>
14524
14525        * platform/image-encoders/skia/PNGImageEncoder.cpp:
14526        (WebCore::PNGImageEncoder::encode):
14527
145282010-04-29  Adam Langley  <agl@chromium.org>
14529
14530        Reviewed by David Levin.
14531
14532        This patch adds support for WOFF in Chromium. Since Chromium
14533        already transcodes all OpenType files for security reasons we
14534        are adding WOFF support into the transcoder.
14535
14536        https://bugs.webkit.org/show_bug.cgi?id=38217
14537
14538        * css/CSSFontFaceSrcValue.cpp:
14539        (WebCore::CSSFontFaceSrcValue::isSupportedFormat):
14540          Recognise "woff" as a font-face format value (guarded by
14541          ENABLE(OPENTYPE_SANITIZER) at this point)
14542        * platform/graphics/opentype/OpenTypeSanitizer.cpp:
14543        (WebCore::OpenTypeSanitizer::sanitize):
14544          Change so that the transcoded font can be larger than the original.
14545          (WOFF files are compressed, so the transcoded TTF is typically
14546          larger.)
14547
145482010-04-29  Alex Milowski  <alex@milowski.com>
14549
14550        Reviewed by Kenneth Rohde Christiansen.
14551
14552        Updates to the Qt build to enable building MathML support.
14553
14554        * WebCore.pri:
14555        * WebCore.pro:
14556
145572010-04-29  Xan Lopez  <xlopez@igalia.com>
14558
14559        Reviewed by Gustavo Noronha.
14560
14561        [GTK] GObject DOM bindings
14562        https://bugs.webkit.org/show_bug.cgi?id=33590
14563
14564        Do not generate unneeded boilerplate in {get,set}_property methods
14565        when there are no properties to generate code for. This gets rid
14566        of lots of compiler warnings.
14567
14568        * bindings/scripts/CodeGeneratorGObject.pm:
14569
145702010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
14571
14572        Reviewed by Kenneth Rohde Christiansen.
14573
14574        [Qt] Speed up text layouting
14575        https://bugs.webkit.org/show_bug.cgi?id=31719
14576
14577        Use QFontMetrics::width() for the text width calculation instead
14578        of QTextLayout. This avoids expensive bearing calculations and the
14579        line breaking code.
14580
14581        * platform/graphics/qt/FontQt.cpp:
14582        (WebCore::Font::floatWidthForComplexText):
14583
145842010-04-29  Kwang Yul Seo  <skyul@company100.net>
14585
14586        Reviewed by Simon Hausmann.
14587
14588        [WINCE] Export g_stackBase with JS_EXPORTDATA
14589        https://bugs.webkit.org/show_bug.cgi?id=37437
14590
14591        Declare g_stackBase with JS_EXPORTDATA as it is imported from JavaScriptCore.
14592
14593        * platform/wince/SharedTimerWince.cpp:
14594
145952010-04-29  Adam Barth  <abarth@webkit.org>
14596
14597        Reviewed by Maciej Stachowiak.
14598
14599        Remove custom bindings for PopStateEvent.initPopStateEvent
14600        https://bugs.webkit.org/show_bug.cgi?id=38311
14601
14602        Our code generation of SerializedScriptValue was slightly buggy, but
14603        it's easy to fix.  Notice that the conversion to an atomic string is
14604        handled by the C++ type system and doesn't require logic in the code
14605        generator.
14606
14607        * bindings/js/JSPopStateEventCustom.cpp:
14608        * bindings/scripts/CodeGeneratorJS.pm:
14609        * bindings/scripts/CodeGeneratorV8.pm:
14610        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
14611        (webkit_dom_test_obj_serialized_value):
14612        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
14613        * bindings/scripts/test/JS/JSTestObj.cpp:
14614        (WebCore::):
14615        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
14616        * bindings/scripts/test/JS/JSTestObj.h:
14617        * bindings/scripts/test/ObjC/DOMTestObj.h:
14618        * bindings/scripts/test/ObjC/DOMTestObj.mm:
14619        (-[DOMTestObj serializedValue:]):
14620        * bindings/scripts/test/TestObj.idl:
14621        * bindings/scripts/test/V8/V8TestObj.cpp:
14622        (WebCore::TestObjInternal::serializedValueCallback):
14623        (WebCore::ConfigureV8TestObjTemplate):
14624        * bindings/v8/custom/V8PopStateEventCustom.cpp:
14625        * dom/PopStateEvent.idl:
14626
146272010-04-29  Kent Tamura  <tkent@chromium.org>
14628
14629        Reviewed by Darin Adler.
14630
14631        Fix a bug that selection drag-and-drop doesn't work for input/textarea.
14632        https://bugs.webkit.org/show_bug.cgi?id=38175
14633
14634        The code supposed the selected region was in the destination text
14635        field. It is not true in a case of drag-and-drop.
14636
14637        Test: editing/pasteboard/drag-drop-input-textarea.html
14638
14639        * dom/InputElement.cpp:
14640        (WebCore::InputElement::handleBeforeTextInsertedEvent):
14641        * html/HTMLTextAreaElement.cpp:
14642        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
14643
146442010-04-29  Adam Barth  <abarth@webkit.org>
14645
14646        Reviewed by Maciej Stachowiak.
14647
14648        Remove custom bindings for NodeFilter.acceptNode
14649        https://bugs.webkit.org/show_bug.cgi?id=38309
14650
14651        This "custom" code was just an instance of the CallWith=ScriptState
14652        pattern.  Also, it looks like V8 just had a garbage implemenation that
14653        did nothing.
14654
14655        * WebCore.gypi:
14656        * bindings/js/JSNodeFilterCustom.cpp:
14657        * bindings/v8/custom/V8NodeFilterCustom.cpp: Removed.
14658        * dom/NodeFilter.idl:
14659
146602010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14661
14662        Reviewed by Laszlo Gombos.
14663
14664        [Qt] QtWebkit doesn't link with 3D canvas
14665        https://bugs.webkit.org/show_bug.cgi?id=38299
14666
14667        Added implementation for GraphicsContext3D::isGLES2Compliant, which returns the correct value based on a Qt #define.
14668
14669        No new tests: build fix
14670
14671        * platform/graphics/qt/GraphicsContext3DQt.cpp:
14672        (WebCore::GraphicsContext3D::isGLES2Compliant):
14673
146742010-04-29  Simon Hausmann  <simon.hausmann@nokia.com>
14675
14676        Reviewed by Tor Arne Vestbø.
14677
14678        [Qt] REGRESSION(r57638): tst_qwebframe::objectDeleted() fails
14679        https://bugs.webkit.org/show_bug.cgi?id=38316
14680
14681        Accessing properties of a deleted objects doesn't throw an exception
14682        anymore.
14683
14684        Continue to expose the QObject class wrapper for objects that
14685        previously existed but don't exist anymore. QtClass is safe to
14686        use with a deleted QObject.
14687
14688        * bridge/qt/qt_instance.cpp:
14689        (JSC::Bindings::QtInstance::getClass): Return null only if m_class
14690        doesn't exist yet and there's no m_object.
14691
146922010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14693
14694        Reviewed by Simon Hausmann.
14695
14696        Reverse animations don't work in some use cases        
14697        https://bugs.webkit.org/show_bug.cgi?id=38075
14698
14699        This was due to a code path special-casing reverse animations, that became obselete when we aligned our animation code
14700        with the CA implementation. That special case code path is now a bug - and this patch removes it.
14701
14702        http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now runs the reverse
14703        animation correctly.
14704
14705        * platform/graphics/qt/GraphicsLayerQt.cpp:
14706        (WebCore::TransformAnimationQt::applyFrame):
14707
147082010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>
14709
14710        Reviewed by Adam Barth.
14711
14712        HTMLOptionElement::ownerSelectElement() needs to consider keygen elements
14713        https://bugs.webkit.org/show_bug.cgi?id=26016
14714
14715        Patch written by Grace Kloba <klobag@gmail.com>, test fixed by me.
14716
14717        Test: fast/dom/HTMLKeygenElement/keygen-option-select.html
14718
14719        * html/HTMLOptionElement.cpp:
14720        (WebCore::HTMLOptionElement::ownerSelectElement):
14721        Make HTMLOptionElement::ownerSelectElement() consider the keygen element in addition to the current select element.
14722
147232010-04-29  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
14724
14725        Reviewed by Eric Seidel.
14726
14727        Add EFL-specific code to Widget.h and move the empty
14728        frameRectsChanged() definition to Widget.cpp, since the EFL port
14729        needs to override that.
14730        http://webkit.org/b/36317
14731
14732        No new tests required.
14733
14734        * WebCore.base.exp:
14735        * platform/Widget.cpp:
14736        (WebCore::Widget::frameRectsChanged):
14737        * platform/Widget.h:
14738
147392010-04-29  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
14740
14741        Reviewed by Simon Hausmann.
14742
14743        [Qt] GraphicsContext3DQt.cpp does not implement isGLES2Compliant() 
14744        https://bugs.webkit.org/show_bug.cgi?id=38216
14745
14746        * platform/graphics/qt/GraphicsContext3DQt.cpp:
14747        (WebCore::GraphicsContext3D::isGLES2Compliant):
14748
147492010-04-29  Zhenyao Mo  <zmo@google.com>
14750
14751        Reviewed by Dimitri Glazkov.
14752
14753        Remove the unnecessary texImage2D function with Image as input in GraphicsContext3D
14754        https://bugs.webkit.org/show_bug.cgi?id=38235
14755
14756        * html/canvas/WebGLRenderingContext.cpp:
14757        (WebCore::WebGLRenderingContext::texImage2D): Add extractImageData; add a common entry point for texImage2D with image input.
14758        (WebCore::WebGLRenderingContext::texImage2DBase): Add this function as the common entry point for texImage2D.
14759        (WebCore::WebGLRenderingContext::texSubImage2D): Add extractImageData; add a common entry point for texSubImage2D with image input.
14760        (WebCore::WebGLRenderingContext::texSubImage2DBase): Add this function as the common entry point for texSubImage2D.
14761        * html/canvas/WebGLRenderingContext.h: Add tex*Image{Base/Image} function declaration.
14762        * platform/graphics/GraphicsContext3D.h: Remove tex*Image declaration with Image input.
14763        * platform/graphics/mac/GraphicsContext3DMac.cpp: Remove tex*Image implementation with Image input.
14764        (WebCore::GraphicsContext3D::texImage2D):
14765        (WebCore::GraphicsContext3D::texSubImage2D):
14766
147672010-04-29  Noam Rosenthal  <noam.rosenthal@nokia.com>
14768
14769        Reviewed by Simon Hausmann.
14770
14771        [Qt] GraphicsLayer: flicker when starting an animation before the previous one ended.
14772        https://bugs.webkit.org/show_bug.cgi?id=38076
14773
14774        This was due to the cude in the removeAnimations functions, which called deleteLater() without stopping the
14775        animation synchronously. The delay between the call to that function and the actual call to the animation's destructor
14776        is when the flicker occured. We fix this by calling stop() synchronously, and making sure that the value is reverted
14777        upon stop (updateState) and not upon the object's destruction.
14778
14779        http://staff.washington.edu/fmf/2009/03/25/iphone-3d-css-transformations/ now doesn't flicker when
14780        the animation is toggled frequently.
14781
14782        * platform/graphics/qt/GraphicsLayerQt.cpp:
14783        (WebCore::TransformAnimationQt::~TransformAnimationQt):
14784        (WebCore::TransformAnimationQt::applyFrame):
14785        (WebCore::TransformAnimationQt::updateState):
14786        (WebCore::OpacityAnimationQt::~OpacityAnimationQt):
14787        (WebCore::OpacityAnimationQt::updateState):
14788        (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
14789        (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
14790
147912010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>
14792
14793        Reviewed by Simon Fraser.
14794
14795        Media queries empty values
14796        https://bugs.webkit.org/show_bug.cgi?id=38116
14797
14798        Adding isValid() method to MediaQueryExp to make it possible to differentiate
14799        between queries with empty values and queries with invalid values.
14800
14801        Test: fast/media/media-query-invalid-value.html
14802
14803        * css/MediaQueryEvaluator.cpp:
14804        (WebCore::MediaQueryEvaluator::eval):
14805        * css/MediaQueryExp.cpp:
14806        (WebCore::MediaQueryExp::MediaQueryExp):
14807        * css/MediaQueryExp.h:
14808        (WebCore::MediaQueryExp::isValid):
14809
148102010-04-28  Pavel Feldman  <pfeldman@chromium.org>
14811
14812        Reviewed by Yury Semikhatsky.
14813
14814        Web Inspector: Allow editing script resources when resource tracking is enabled.
14815
14816        https://bugs.webkit.org/show_bug.cgi?id=38269
14817
14818        * inspector/front-end/ScriptView.js:
14819        * inspector/front-end/ScriptsPanel.js:
14820        (WebInspector.ScriptsPanel.prototype.canEditScripts):
14821        (WebInspector.ScriptsPanel.prototype.editScriptSource):
14822        * inspector/front-end/SourceFrame.js:
14823        (WebInspector.SourceFrame.prototype.get textModel):
14824        * inspector/front-end/SourceView.js:
14825        (WebInspector.SourceView):
14826        (WebInspector.SourceView.prototype._addBreakpoint):
14827        (WebInspector.SourceView.prototype._editLine):
14828        (WebInspector.SourceView.prototype._editLineComplete):
14829        (WebInspector.SourceView.prototype._sourceIDForLine):
14830
148312010-04-25  Antonio Gomes  <tonikitoo@webkit.org>
14832
14833        Reviewed by Darin Adler.
14834
14835        Clicking a scrollbar blurs the currently focused element
14836        https://bugs.webkit.org/show_bug.cgi?id=16809
14837
14838        WebKit ports that do not use native (platform) widgets for rendering the scrollbars
14839        are currently mismatching a common behaviour of other browser vendors (including
14840        Firefox and Opera): clicking on a frame scrollbar *should not* steal focus from content.
14841        WebKit browsers based ports that do use WebCore for handling scrollbars, like QtWebKit for
14842        instance, can observe the opposite behaviour.
14843
14844        Patch fixes this behaviour by checking if current MouseDown event targets a frame scrollbar.
14845        If that is the case, it bails out and do not change focus behavior at all.
14846
14847        It is important to note that the given way this is implemented by this patch, non-frame
14848        scrollbars (e.g. a vertical scrollbar of an overflowed textareas or divs) will keep working
14849        in the same way as it works currently.
14850
14851        Tests: scrollbars/scrollbar-click-does-not-blur-content.html
14852               scrollbars/scrollbar-iframe-click-does-not-blur-content.html
14853
14854        * page/EventHandler.cpp:
14855        (WebCore::EventHandler::dispatchMouseEvent):
14856
148572010-04-28  Dan Bernstein  <mitz@apple.com>
14858
14859        Rubber-stamped by Maciej Stachowiak.
14860
14861        Try to fix test failures seen on the Leopard build bot after r58467
14862
14863        * platform/graphics/SimpleFontData.cpp:
14864        (WebCore::SimpleFontData::platformGlyphInit): Initialize m_zeroWidthSpaceGlyph before
14865        calling widthForGlyph(), as the latter uses the former.
14866
148672010-04-28  Martin Robinson  <mrobinson@webkit.org>
14868
14869        Reviewed by Gustavo Noronha.
14870
14871        [GTK] Enable DOM clipboard and drag-and-drop access
14872        https://bugs.webkit.org/show_bug.cgi?id=30623
14873
14874        Make ClipboardGtk a "live" DataTransfer object, able to modify
14875        the clipboard when setData(...) is called.
14876
14877        * platform/gtk/ClipboardGtk.cpp:
14878        (WebCore::Editor::newGeneralClipboard): Pass the GtkClipboard into the factory method.
14879        (WebCore::ClipboardGtk::ClipboardGtk): Create two separate constructors, one for DnD data and one for clipboard data.
14880        (WebCore::dataObjectTypeFromHTMLClipboardType): Added.
14881        (WebCore::ClipboardGtk::clearData): Clear the member DataObject, optionally write the clipboard.
14882        (WebCore::ClipboardGtk::clearAllData): Ditto.
14883        (WebCore::joinURIList): Added.
14884        (WebCore::ClipboardGtk::getData): Get the data from the clipboard, if possible.
14885        (WebCore::ClipboardGtk::setData): Write data to the DataObject and maybe the clipboard.
14886        (WebCore::ClipboardGtk::types): Read the clipboard/DataObject to find applicable types.
14887        (WebCore::ClipboardGtk::files): Read the clipboard/DataObject to find the files.
14888        (WebCore::ClipboardGtk::writeURL): Write to the DataObject and maybe the clipboard.
14889        (WebCore::ClipboardGtk::writeRange): Ditto.
14890        (WebCore::ClipboardGtk::writePlainText): Ditto.
14891        (WebCore::ClipboardGtk::hasData): Query the clipboard/DataObject.
14892        * platform/gtk/ClipboardGtk.h: 
14893        (WebCore::ClipboardGtk::create): Added one factory for pasteboard-backed DataObjects and one for DnD-backed objects.
14894        * platform/gtk/DataObjectGtk.cpp:
14895        (WebCore::replaceNonBreakingSpaceWithSpace): Added this helper function to clean &nbsp; from plain text.
14896        (WebCore::DataObjectGtk::markup): Actually return the range if it's set.
14897        (WebCore::DataObjectGtk::setText): Clean &nbsp; from plain text.
14898        (WebCore::DataObjectGtk::clearText): Added.
14899        (WebCore::DataObjectGtk::clearMarkup): Added.
14900        * platform/gtk/DataObjectGtk.h:
14901        (WebCore::DataObjectGtk::clearURIList): Added.
14902        (WebCore::DataObjectGtk::clearImage): Added.
14903        * platform/gtk/PasteboardHelper.cpp:
14904        (WebCore::PasteboardHelper::initializeTargetList): Added target ID's for URI list and Netscape URL targets.
14905        (WebCore::urisToKURLVector): Added.
14906        (WebCore::PasteboardHelper::getClipboardContents): Added.
14907        (WebCore::PasteboardHelper::fillSelectionData): Added logic for URI lists and Netscape URLs.
14908        (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
14909        * platform/gtk/PasteboardHelper.h: Added default argument to writeClipboardContents and new method.
14910
149112010-04-28  Martin Robinson  <mrobinson@webkit.org>
14912
14913        Reviewed by Gustavo Noronha.
14914
14915        [GTK] Enable DOM clipboard and drag-and-drop access
14916        https://bugs.webkit.org/show_bug.cgi?id=30623
14917
14918        Use the length of the UTF-8 markup data in bytes when filling GtkSelectionData.
14919
14920        No new tests, because pasteboard DataTransfer tests will be enabled
14921        with the completion of the GTK+ DataTransfer object.
14922
14923        * platform/gtk/PasteboardGtk.cpp:
14924        (WebCore::clipboard_get_contents_cb): Use strlen here instead of g_utf8_strlen.
14925
149262010-04-28  Dan Bernstein  <mitz@apple.com>
14927
14928        Reviewed by Adele Peterson.
14929
14930        More of <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
14931        https://bugs.webkit.org/show_bug.cgi?id=37936
14932
14933        Assigning zero width and empty bounds to the ZERO WIDTH SPACE glyph often allocates a width map
14934        page and a bounds map page for the glyph, each of which pages contains 255 unused entries. Save
14935        this space by not storing the zero width and empty bounds in the metrics maps.
14936
14937        * platform/graphics/SimpleFontData.cpp:
14938        (WebCore::SimpleFontData::SimpleFontData): Initialize m_zeroWidthSpaceGlyph.
14939        (WebCore::SimpleFontData::platformGlyphInit): Set m_zeroWidthSpaceGlyph. Don’t create entries
14940        for the ZERO WIDTH SPACE glyph in the width map and in the bounds map.
14941        * platform/graphics/SimpleFontData.h:
14942        (WebCore::SimpleFontData::boundsForGlyph): Return empty bounds for the ZERO WIDTH SPACE glyph
14943        without consulting the bounds map.
14944        (WebCore::SimpleFontData::widthForGlyph): Return zero for the ZERO WIDTH SPACE glyph without
14945        consulting the width map.
14946
149472010-04-28  Mark Rowe  <mrowe@apple.com>
14948
14949        Reviewed by Adele Peterson.
14950
14951        <rdar://problem/7847573> Safari welcome page logs JavaScript exception during page load
14952
14953        The Safari welcome page runs afoul of the same-origin restriction on access to stylesheet rules
14954        that was added to address <https://bugs.webkit.org/show_bug.cgi?id=20527>. To work around this we're
14955        adding a temporary site-specific quirk that relaxes this restriction for the particular cross-origin
14956        access that occurs on the Safari welcome page.
14957
14958        * css/CSSStyleSheet.cpp:
14959        (WebCore::CSSStyleSheet::cssRules):
14960
149612010-04-28  Mike Thole  <mthole@apple.com>
14962
14963        Reviewed by Mark Rowe.
14964
14965        Add separate exports file for symbols dependent on WTF_USE_PROTECTION_SPACE_AUTH_CALLBACK.
14966
14967        * DerivedSources.make: Updated for WebCore.ProtectionSpaceAuthCallback.exp.
14968        * WebCore.ProtectionSpaceAuthCallback.exp: Added.
14969        * WebCore.xcodeproj/project.pbxproj:
14970
149712010-04-28  Evan Martin  <evan@chromium.org>
14972
14973        Reviewed by David Levin.
14974
14975        [chromium] revert getFontDataForCharacters change in r58341
14976        https://bugs.webkit.org/show_bug.cgi?id=38288
14977
14978        It caused a performance regression.
14979
14980        * platform/chromium/ChromiumBridge.h:
14981        * platform/graphics/chromium/FontCacheLinux.cpp:
14982        (WebCore::FontCache::getFontDataForCharacters):
14983
149842010-04-28  Eric Seidel  <eric@webkit.org>
14985
14986        Unreviewed, rolling out r58441.
14987        http://trac.webkit.org/changeset/58441
14988        https://bugs.webkit.org/show_bug.cgi?id=37618
14989
14990        Broke 3 test on Qt.
14991
14992        * page/DragController.cpp:
14993        (WebCore::DragController::tryDocumentDrag):
14994        (WebCore::DragController::concludeEditDrag):
14995        * page/DragController.h:
14996        (WebCore::DragController::setDragInitiator):
14997        (WebCore::DragController::dragInitiator):
14998        (WebCore::DragController::documentUnderMouse):
14999
150002010-04-28  Darin Adler  <darin@apple.com>
15001
15002        Reviewed by Dan Bernstein.
15003
15004        Remove some obsolete scrolling code
15005        https://bugs.webkit.org/show_bug.cgi?id=38293
15006
15007        * page/Chrome.cpp:
15008        (WebCore::Chrome::scrollRectIntoView): Removed ScrollView* argument.
15009        * page/Chrome.h: Made scrollRectIntoView non-virtual, and removed ScrollView* argument.
15010
15011        * page/FrameView.cpp: Removed scrollRectIntoViewRecursively.
15012        * page/FrameView.h: Removed scrollRectIntoViewRecursively and made
15013        setScrollPosition non-virtual, since there is no class derived from
15014        this class, and ScrollView's setScrollPosition is non-virtual.
15015
15016        * platform/HostWindow.h: Removed scrollRectIntoView.
15017
15018        * platform/ScrollView.cpp:
15019        (WebCore::ScrollView::scrollRectIntoViewRecursively): Updated comment
15020        since I was able to do most of the tasks listed here.
15021
15022        * rendering/RenderLayer.cpp:
15023        (WebCore::RenderLayer::scrollRectToVisible): Removed 0 passed for
15024        ScrollView* argument to Chrome::scrollRectIntoView.
15025
150262010-04-28  Mike Thole  <mthole@apple.com>
15027
15028        Reviewed by David Kilzer.
15029
15030        Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space 
15031        can be inspected before attempting to authenticate against it
15032        https://bugs.webkit.org/show_bug.cgi?id=38271
15033
15034        * loader/EmptyClients.h:
15035        (WebCore::EmptyFrameLoaderClient::canAuthenticateAgainstProtectionSpace): Added.
15036        * loader/FrameLoader.cpp:
15037        (WebCore::FrameLoader::canAuthenticateAgainstProtectionSpace): Added.
15038        * loader/FrameLoader.h:
15039        * loader/FrameLoaderClient.h:
15040        * loader/ResourceLoader.cpp:
15041        (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
15042        * loader/ResourceLoader.h:
15043        (WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpace): Added.
15044        * platform/network/ProtectionSpace.h:
15045        (WebCore::):
15046        * platform/network/ResourceHandle.h:
15047        * platform/network/ResourceHandleClient.h:
15048        (WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Added.
15049        * platform/network/mac/AuthenticationMac.mm:
15050        (WebCore::mac):
15051        Add cases for case ProtectionSpaceAuthenticationSchemeServerTrustEvaluationRequested and
15052        ProtectionSpaceAuthenticationSchemeClientCertificateRequested.  Guarded with the
15053        #if USE(PROTECTION_SPACE_AUTH_CALLBACK) as the new NSURLProtectionSpace constants don't
15054        exist prior to Mac OS X 10.6.
15055        (WebCore::core): Ditto.
15056        * platform/network/mac/ResourceHandleMac.mm:
15057        (WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace): Added.
15058        (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]): Added.
15059
150602010-04-28  Abhishek Arya  <inferno@chromium.org>
15061
15062        Reviewed by Eric Seidel.
15063
15064        Convert m_documentUnderMouse, m_dragInitiator to RefPtr.
15065        Eliminated unused m_dragInitiator accessor to prevent dereferencing.
15066        https://bugs.webkit.org/show_bug.cgi?id=37618
15067
15068        Test: editing/pasteboard/drag-drop-iframe-refresh-crash.html
15069
15070        * page/DragController.cpp:
15071        (WebCore::DragController::tryDocumentDrag):
15072        (WebCore::DragController::concludeEditDrag):
15073        * page/DragController.h:
15074        (WebCore::DragController::draggingImageURL):
15075        (WebCore::DragController::documentUnderMouse):
15076
150772010-04-28  Dumitru Daniliuc  <dumi@chromium.org>
15078
15079        Unreviewed, fixing a build problem introduced by the previous patch.
15080
15081        * storage/DatabaseSync.cpp:
15082        (WebCore::DatabaseSync::openDatabaseSync):
15083
150842010-04-23  Dumitru Daniliuc  <dumi@chromium.org>
15085
15086        Reviewed by Jeremy Orlow.
15087
15088        Adding some required classes for the sync WebSQLDatabases API.
15089        https://bugs.webkit.org/show_bug.cgi?id=34994
15090
15091        * GNUmakefile.am:
15092        * WebCore.gypi:
15093        * WebCore.pro:
15094        * WebCore.vcproj/WebCore.vcproj:
15095        * WebCore.xcodeproj/project.pbxproj:
15096        * storage/DatabaseSync.cpp: Added.
15097        (WebCore::DatabaseSync::databaseInfoTableName):
15098        (WebCore::DatabaseSync::setIsAvailable):
15099        (WebCore::DatabaseSync::isAvailable):
15100        (WebCore::DatabaseSync::openDatabaseSync):
15101        (WebCore::DatabaseSync::DatabaseSync):
15102        (WebCore::DatabaseSync::~DatabaseSync):
15103        (WebCore::DatabaseSync::version):
15104        (WebCore::DatabaseSync::changeVersion):
15105        (WebCore::DatabaseSync::transaction):
15106        * storage/DatabaseSync.h: Added.
15107        (WebCore::DatabaseSync::databaseDebugName):
15108        * storage/SQLTransactionSync.cpp: Added.
15109        (WebCore::SQLTransactionSync::create):
15110        (WebCore::SQLTransactionSync::SQLTransactionSync):
15111        (WebCore::SQLTransactionSync::~SQLTransactionSync):
15112        (WebCore::SQLTransactionSync::executeSQL):
15113        * storage/SQLTransactionSync.h: Added.
15114        (WebCore::SQLTransactionSync::database):
15115        (WebCore::SQLTransactionSync::isReadOnly):
15116        * storage/SQLTransactionSyncCallback.h: Added.
15117        (WebCore::SQLTransactionSyncCallback::~SQLTransactionSyncCallback):
15118
151192010-04-28  İsmail Dönmez  <ismail@namtrac.org>
15120
15121        Reviewed by Simon Hausmann.
15122
15123        Fix compilation with QT_NO_CURSOR defined.
15124
15125        * platform/qt/QWebPageClient.h:
15126        (QWebPageClient::resetCursor):
15127        (QWebPageClient::setCursor):
15128
151292010-04-28  Abhishek Arya  <inferno@chromium.org>
15130
15131        Reviewed by Alexey Proskuryakov.
15132
15133        Added a check to make sure that resources from a different https origin are not cached.
15134        https://bugs.webkit.org/show_bug.cgi?id=33456
15135
15136        Test: http/tests/appcache/different-https-origin-resource-main.html
15137
15138        * loader/appcache/ManifestParser.cpp:
15139        (WebCore::parseManifest):
15140
151412010-04-28  Sam Weinig  <sam@webkit.org>
15142
15143        Reviewed by Mark Rowe.
15144
15145        Only set -allowable_client WebKit2 for engineering builds on SnowLeopard
15146        and later.
15147
15148        * Configurations/WebCore.xcconfig:
15149
151502010-04-28  Darin Adler  <darin@apple.com>
15151
15152        Reviewed by Adele Peterson.
15153
15154        REGRESSION: Autoscroll does not work in Mail messages
15155        https://bugs.webkit.org/show_bug.cgi?id=38267
15156        rdar://problem/7559799
15157
15158        Still haven't figured out a good way to test this with DumpRenderTree
15159        or with Safari. Testing has to be done with Mail for now.
15160
15161        The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
15162        view had gotten broken in multiple ways. For some reason, a combination of bugs made it
15163        partly work until around r48064. This brings it back.
15164
15165        There were three problems:
15166
15167            1) Code in EventHandler decided there was nothing to scroll, so didn't start
15168               the autoscroll timer.
15169            2) The wrong rectangle was passed to Chrome::scrollRectIntoView.
15170            3) The Mac WebKit implementation of ChromeClient::scrollRectIntoView did incorrect
15171               coordinate conversion.
15172
15173        I verified that none of these have any effect on regression tests, or behavior in
15174        web browsers, or behavior on platforms other than Mac.
15175
15176        * page/EventHandler.cpp:
15177        (WebCore::canAutoscroll): Added. Returns true for boxes that can scroll directly
15178        and for the top level box of the top frame.
15179        (WebCore::EventHandler::handleMouseDraggedEvent): Use canAutoscroll.
15180        (WebCore::EventHandler::updateAutoscrollRenderer): Ditto.
15181
15182        * page/FrameView.cpp:
15183        (WebCore::FrameView::scrollToAnchor): Fixed comment.
15184
15185        * platform/ScrollView.cpp:
15186        (WebCore::ScrollView::scrollRectIntoViewRecursively): Put ASSERT_NOT_REACHED into this
15187        now-unused function along with some comments about removing some obsolete code.
15188
15189        * rendering/RenderLayer.cpp:
15190        (WebCore::RenderLayer::scrollRectToVisible): Removed call to scrollRectIntoViewRecursively
15191        since from the WebKit point of view this is the topmost scroll view anyway. Instead call
15192        setScrollPosition. Moved the code to call Chrome::scrollRectIntoView here since it needs
15193        to use a different rectangle anyway.
15194
151952010-04-21  Ojan Vafai  <ojan@chromium.org>
15196
15197        Reviewed by Adele Peterson.
15198
15199        http://trac.webkit.org/changeset/57215 caused perf/memory regressions
15200        https://bugs.webkit.org/show_bug.cgi?id=37292
15201
15202        #if out the canUseGlyphCache Changes from r57215 as they caused a 
15203        8% perf regression on Chromium's international page load tests so that
15204        the perf regression can be fixed properly without being left in the tree.
15205
15206        * platform/graphics/FontFastPath.cpp:
15207        (WebCore::Font::canUseGlyphCache):
15208
152092010-04-28  Beth Dakin  <bdakin@apple.com>
15210
15211        Reviewed by Darin Adler.
15212
15213        Fix for <rdar://problem/7474349>
15214
15215        Add a synchronous display mechanism for WKCACFLayerRenderer. 
15216
15217        * platform/graphics/win/WKCACFLayerRenderer.cpp:
15218        (WebCore::WKCACFLayerRenderer::setRootContentsAndDisplay): This is 
15219        just like setRootContents(), but it calls paint() instead of 
15220        renderSoon().
15221        * platform/graphics/win/WKCACFLayerRenderer.h:
15222
152232010-04-28  Dmitry Titov  <dimich@chromium.org>
15224
15225        Reviewed by Geoffrey Garen.
15226
15227        REGRESSION: fast/workers/wrapper-map-gc.html crashes on Snow Leopard Release Bot
15228        https://bugs.webkit.org/show_bug.cgi?id=37554
15229
15230        The flaky fast/workers/wrapper-map-gc.html will stop being flaky.
15231
15232        * bindings/js/JSEventListener.cpp:
15233        (WebCore::JSEventListener::handleEvent):
15234        check if JS execution was terminated, as in cases of Worker.terminate() or WorkerGlobalScope.close().
15235        * bindings/js/JSWorkerContextBase.cpp:
15236        (WebCore::toJS): ASSERT the value of workerContextWrapper, it should never be 0.
15237        * bindings/js/WorkerScriptController.h:
15238        (WebCore::WorkerScriptController::workerContextWrapper): remove returning 0 if JS execution was forbidden.
15239        (WebCore::WorkerScriptController::isExecutionForbidden):
15240        * bindings/v8/WorkerScriptController.h:
15241        (WebCore::WorkerScriptController::isExecutionForbidden):
15242
15243        Add ScriptExecutionContext::isJSExecutionTerminated(), it is always 'false' for Document
15244        and 'true' for WorkerContext when script is terminated.
15245        * dom/ScriptExecutionContext.h:
15246        * dom/Document.h:
15247        (WebCore::Document::isJSExecutionTerminated):
15248        * workers/WorkerContext.cpp:
15249        (WebCore::WorkerContext::isJSExecutionTerminated):
15250        * workers/WorkerContext.h:
15251
152522010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15253
15254        Reviewed by Yury Semikhatsky.
15255
15256        WebInspector: Multiple Main Resource Content Loaded marks appear in Resource panel.
15257        https://bugs.webkit.org/show_bug.cgi?id=38270
15258
15259        * inspector/front-end/ResourcesPanel.js:
15260        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
15261
152622010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15263
15264        Reviewed by Yury Semikhatsky.
15265
15266        WebInspector: Timeline: We can have precise urls in the EvaluateScript records.
15267        https://bugs.webkit.org/show_bug.cgi?id=38264
15268
15269        * inspector/front-end/TimelinePanel.js:
15270        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
15271        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
15272
152732010-04-28  Pavel Feldman  <pfeldman@chromium.org>
15274
15275        Reviewed by Timothy Hatcher.
15276
15277        Web Inspector: Linkify node and function in the event listeners panel.
15278
15279        https://bugs.webkit.org/show_bug.cgi?id=38251
15280
15281        * bindings/js/ScriptEventListener.cpp:
15282        (WebCore::eventListenerHandlerBody):
15283        (WebCore::eventListenerHandlerLocation):
15284        * bindings/js/ScriptEventListener.h:
15285        * bindings/v8/ScriptEventListener.cpp:
15286        (WebCore::eventListenerHandlerBody):
15287        (WebCore::eventListenerHandlerLocation):
15288        * bindings/v8/ScriptEventListener.h:
15289        * inspector/InspectorDOMAgent.cpp:
15290        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
15291        * inspector/front-end/ElementsPanel.js:
15292        (WebInspector.ElementsPanel.prototype.linkifyNodeReference):
15293        (WebInspector.ElementsPanel.prototype.linkifyNodeReference.preventDefault):
15294        * inspector/front-end/EventListenersSidebarPane.js:
15295        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
15296        (WebInspector.EventListenersSidebarPane.prototype.update):
15297        ():
15298        * inspector/front-end/StylesSidebarPane.js:
15299        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
15300        * inspector/front-end/inspector.css:
15301        (.node-link):
15302
153032010-04-28  Julien Chaffraix  <jchaffraix@webkit.org>
15304
15305        Reviewed by Alexey Proskuryakov.
15306
15307        [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
15308        https://bugs.webkit.org/show_bug.cgi?id=37781
15309        <rdar://problem/7905150>
15310
15311        Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15312               http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15313
15314        Rolling the patch in as I could not reproduce Qt results locally.
15315
15316        * loader/DocumentThreadableLoader.cpp:
15317        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
15318        credential from the request here to avoid forgetting to do so in the different code path.
15319        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
15320        "Origin" header.
15321        (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
15322        been removed so that we don't leak them. Also tweaked a comment to make it clear that
15323        the URL check has issue when credential is involved.
15324
153252010-04-28  Noam Rosenthal  <noam.rosenthal@nokia.com>
15326
15327        Reviewed by Kenneth Rohde Christiansen.
15328
15329        [Qt] GraphicsLayer: preserves-3d and backface visibility
15330        https://bugs.webkit.org/show_bug.cgi?id=35312
15331
15332        Implement preserves-3d by maintaining the 3D transformation heirarchy inside GraphicsLayerQt, and extrapolating
15333        the relative QTransform. When the extrapolation fails (un-invertible matrix) we ignore the transformation change.
15334
15335        WebKitSite/blog-files/3d-transforms test now work with Qt.
15336
15337        * platform/graphics/qt/GraphicsLayerQt.cpp:
15338        (WebCore::GraphicsLayerQtImpl::updateTransform):
15339        (WebCore::GraphicsLayerQtImpl::opaqueArea):
15340        (WebCore::GraphicsLayerQtImpl::boundingRect):
15341        (WebCore::GraphicsLayerQtImpl::paint):
15342        (WebCore::GraphicsLayerQtImpl::flushChanges):
15343
153442010-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
15345
15346        Reviewed by Yury Semikhatsky.
15347
15348        Web Inspector: View frame selector for Timeline overview panel is redesigned a bit.
15349        Now it is possible to adjust view frame by resizer bars and by click-n-drag in overview pane.
15350        https://bugs.webkit.org/show_bug.cgi?id=38251
15351
15352        * inspector/front-end/TimelineOverviewPane.js:
15353        (WebInspector.TimelineOverviewPane):
15354        (WebInspector.TimelineOverviewPane.prototype.reset):
15355        (WebInspector.TimelineOverviewPane.prototype._dragWindow):
15356        (WebInspector.TimelineOverviewPane.prototype._windowSelectorDragging):
15357        (WebInspector.TimelineOverviewPane.prototype._endWindowSelectorDragging):
15358        (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
15359        (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
15360        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
15361        (WebInspector.TimelinePanel.WindowSelector):
15362        (WebInspector.TimelinePanel.WindowSelector.prototype._createSelectorElement):
15363        (WebInspector.TimelinePanel.WindowSelector.prototype._close):
15364        (WebInspector.TimelinePanel.WindowSelector.prototype._updatePosition):
15365        * inspector/front-end/inspector.css:
15366        (#timeline-overview-grid):
15367        (.timeline-window-selector):
15368        (#timeline-overview-window):
15369        (.timeline-overview-dividers-background):
15370        (.timeline-overview-window-rulers):
15371        (.timeline-window-resizer):
15372
153732010-04-28  Marcus Bulach  <bulach@chromium.org>
15374
15375        Reviewed by Jeremy Orlow.
15376
15377        Reverts 58340 (https://bugs.webkit.org/show_bug.cgi?id=38158) due to regression on fast/text/international/khmer-selection.html
15378        https://bugs.webkit.org/show_bug.cgi?id=38254
15379
15380        * platform/graphics/chromium/FontLinux.cpp:
15381        (WebCore::adjustTextRenderMode):
15382        (WebCore::TextRunWalker::getTextRun):
15383        (WebCore::TextRunWalker::getNormalizedTextRun):
15384        (WebCore::TextRunWalker::setGlyphXPositions):
15385        (WebCore::glyphIndexForXPositionInScriptRun):
15386        (WebCore::Font::offsetForPositionForComplexText):
15387        (WebCore::Font::selectionRectForComplexText):
15388        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
15389        (WebCore::FontPlatformData::setupPaint):
15390        * platform/graphics/chromium/HarfbuzzSkia.cpp:
15391        (WebCore::getOutlinePoint):
15392        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
15393        (WebCore::GraphicsContext3D::getImageData):
15394        * platform/graphics/skia/GraphicsContextSkia.cpp:
15395        (WebCore::isCoordinateSkiaSafe):
15396        (WebCore::GraphicsContext::fillRect):
15397        (WebCore::GraphicsContext::strokePath):
15398        (WebCore::GraphicsContext::strokeRect):
15399
154002010-04-28  Andrey Kosyakov  <caseq@chromium.org>
15401
15402        Reviewed by Yury Semikhatsky.
15403
15404        Log error message to inspector console if a resource fails to load.
15405        Disable checking of mime-type consistency for failed resources.
15406        https://bugs.webkit.org/show_bug.cgi?id=37215
15407
15408        Test: http/tests/inspector/console-resource-errors.html
15409
15410        * inspector/InspectorController.cpp:
15411        (WebCore::InspectorController::didReceiveResponse):
15412        (WebCore::InspectorController::didFailLoading):
15413        * inspector/front-end/Resource.js:
15414        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
15415        * inspector/front-end/ResourcesPanel.js:
15416        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
15417
154182010-04-28  Yury Semikhatsky  <yurys@chromium.org>
15419
15420        Reviewed by Pavel Feldman.
15421
15422        Support pause on exceptions in v8 implementation of ScriptDebugServer.
15423
15424        https://bugs.webkit.org/show_bug.cgi?id=38205        
15425
15426        * bindings/v8/ScriptDebugServer.cpp:
15427        (WebCore::ScriptDebugServer::addListener):
15428        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
15429        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
15430        (WebCore::ScriptDebugServer::currentCallFrame):
15431        (WebCore::ScriptDebugServer::handleV8DebugMessage):
15432        (WebCore::ScriptDebugServer::dispatchDidParseSource):
15433        * bindings/v8/ScriptDebugServer.h:
15434
154352010-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
15436
15437        Unreviewed, rolling out r58313.
15438        http://trac.webkit.org/changeset/58313
15439        https://bugs.webkit.org/show_bug.cgi?id=38253
15440
15441        Regression evident in pixel tests: the search icon is always
15442        clipped at the bottom. (Requested by jorlow on #webkit).
15443
15444        * rendering/RenderTextControl.cpp:
15445        (WebCore::RenderTextControl::controlClipRect):
15446        * rendering/RenderTextControl.h:
15447        (WebCore::RenderTextControl::hasControlClip):
15448        * rendering/RenderTextControlSingleLine.cpp:
15449        (WebCore::RenderTextControlSingleLine::paint):
15450        * rendering/RenderTextControlSingleLine.h:
15451
154522010-04-28  Justin McPherson <justin.mcpherson@nokia.com>
15453
15454        Reviewed by Simon Hausmann.
15455
15456        [Qt] Fix detection of Qt 4.7's multimedia libraries
15457
15458        QtMultimedia has been split into an additional media services library, which
15459        we're using. mediaservices depends on multimedia.
15460
15461        * WebCore.pro:
15462
154632010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>
15464
15465        Unreviewed attempt to fix the chromium build.
15466
15467        Add layoutTestController.setPrinting()
15468        https://bugs.webkit.org/show_bug.cgi?id=37203
15469
15470        * rendering/RenderTreeAsText.cpp:
15471
154722010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>
15473
15474        Reviewed by Darin Adler and Eric Seidel.
15475
15476        Add layoutTestController.setPrinting()
15477        https://bugs.webkit.org/show_bug.cgi?id=37203
15478
15479        Added RenderAsTextPrintingMode as a behavior of externalRepresentation.
15480
15481        Now ~PrintContext() calls end() automatically.
15482
15483        * page/PrintContext.cpp:
15484        (WebCore::PrintContext::~PrintContext):
15485        * rendering/RenderTreeAsText.cpp:
15486        (WebCore::externalRepresentation):
15487        * rendering/RenderTreeAsText.h:
15488        (WebCore::):
15489
154902010-04-27  Yuzo Fujishima  <yuzo@google.com>
15491
15492        Reviewed by Eric Seidel.
15493
15494        Enhance CSS parser for Paged Media (Iteration 4)
15495        Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
15496        https://bugs.webkit.org/show_bug.cgi?id=35853
15497
15498        * css/CSSParser.cpp:
15499        (WebCore::CSSParser::parseValue):
15500        (WebCore::CSSParser::parsePage):
15501        * css/CSSParser.h:
15502
155032010-04-27  Yuzo Fujishima  <yuzo@google.com>
15504
15505        Reviewed by Dimitri Glazkov.
15506
15507        Enhance CSS parser for Paged Media (Iteration 3)
15508        Implement size parameter parsing for Paged Media.
15509        https://bugs.webkit.org/show_bug.cgi?id=35851
15510
15511        I believe size property hasn't been used so far because (1) it hasn't been properly parsed and
15512        (2) a comment in CSSComputedStyleDeclaration::getPropertyCSSValue says so.
15513        Changing the way of parsing it should not cause any regressions -- no existing tests fail because of this change.
15514
15515        * css/CSSParser.cpp:
15516        (WebCore::CSSParser::parseValue):
15517        (WebCore::CSSParser::parseSize):
15518        (WebCore::CSSParser::parseSizeParameter):
15519        * css/CSSParser.h:
15520        (WebCore::CSSParser::):
15521        * css/CSSValueKeywords.in:
15522
155232010-04-27  Yuzo Fujishima  <yuzo@google.com>
15524
15525        Reviewed by Eric Seidel.
15526
15527        Enhance CSS parser for Paged Media (Iteration 2)
15528        Parse and hold paged media rules in CSSStyleSelector.
15529
15530        https://bugs.webkit.org/show_bug.cgi?id=35782
15531
15532        Test: printing/page-rule-css-text.html
15533
15534        * css/CSSGrammar.y:
15535        * css/CSSPageRule.cpp:
15536        (WebCore::CSSPageRule::CSSPageRule):
15537        (WebCore::CSSPageRule::selectorText):
15538        * css/CSSPageRule.h:
15539        (WebCore::CSSPageRule::create):
15540        (WebCore::CSSPageRule::isPageRule):
15541        * css/CSSParser.cpp:
15542        (WebCore::CSSParser::createPageRule):
15543        * css/CSSStyleRule.h:
15544        * css/CSSStyleSelector.cpp:
15545        (WebCore::CSSRuleSet::getPageRules):
15546        (WebCore::CSSRuleSet::CSSRuleSet):
15547        (WebCore::CSSRuleSet::~CSSRuleSet):
15548        (WebCore::CSSRuleSet::addPageRule):
15549        (WebCore::CSSRuleSet::addRulesFromSheet):
15550        * css/CSSStyleSelector.h:
15551        * css/StyleBase.h:
15552        (WebCore::StyleBase::isPageRule):
15553
155542010-04-27  Daniel Bates  <dbates@rim.com>
15555
15556        Reviewed by Oliver Hunt.
15557
15558        https://bugs.webkit.org/show_bug.cgi?id=37686
15559
15560        Fixes an issue where the canvas method strokeRect will stroke a
15561        rectangle whose dimensions are 0 when lineWidth > 1.
15562
15563        As per the definition of strokeRect in the HTML Canvas 2D Context
15564        spec. <http://www.w3.org/TR/2dcontext/#dom-context-2d-strokerect>,
15565        this method should have no effect when both the height and width
15566        are zero.
15567
15568        Tests: fast/canvas/canvas-clearRect.html
15569               fast/canvas/canvas-fillRect.html
15570
15571        * html/canvas/CanvasRenderingContext2D.cpp:
15572        (WebCore::validateRectForCanvas): Return false if height, width == 0.
15573
155742010-04-27  Adam Barth  <abarth@webkit.org>
15575
15576        Reviewed by Eric Seidel.
15577
15578        Remove obsolete custom bindings file
15579        https://bugs.webkit.org/show_bug.cgi?id=38223
15580
15581        We don't need these files anymore because they are empty.
15582
15583        * Android.jscbindings.mk:
15584        * GNUmakefile.am:
15585        * WebCore.pro:
15586        * WebCore.vcproj/WebCore.vcproj:
15587        * WebCore.xcodeproj/project.pbxproj:
15588        * bindings/js/JSAbstractWorkerCustom.cpp: Removed.
15589        * bindings/js/JSBindingsAllInOne.cpp:
15590        * bindings/js/JSDocumentFragmentCustom.cpp: Removed.
15591        * bindings/js/JSEventSourceCustom.cpp: Removed.
15592
155932010-04-27  Daniel Cheng  <dcheng@chromium.org>
15594
15595        Reviewed by Jian Li.
15596
15597        [Chromium] Filter out URLs with a file scheme from text/uri-list when dragging.
15598        https://bugs.webkit.org/show_bug.cgi?id=38227
15599
15600        Unfortunately, the simple fix of not populating the drag data with file URLs doesn't work
15601        since the default drop handling uses the drag data URL to navigate to dropped files/URLs.
15602        For now, we hack around the problem in the Chromium platform, but the proper long term
15603        solution is to change DragController::performDrag to check dragData::asFilenames().
15604
15605        No new tests.
15606
15607        * platform/chromium/ClipboardChromium.cpp:
15608        (WebCore::ClipboardChromium::getData):
15609        (WebCore::ClipboardChromium::types):
15610
156112010-04-27  Simon Fraser  <simon.fraser@apple.com>
15612
15613        Reviewed by the inimitable Dan Bernstein.
15614
15615        SVG as background image renders incorrectly after zooming
15616        https://bugs.webkit.org/show_bug.cgi?id=38215
15617        
15618        When doing a partial redraw of an SVGImage used as a CSS background
15619        image, we're limited to drawing the entire Frame, clipped to the dirty rect.
15620        Because of this, we need to fix up the CTM so that the origin is at the
15621        top left of the unclipped image, rather than the top left of the
15622        portion being redrawn.
15623
15624        Test: fast/images/svg-background-partial-redraw.html
15625
15626        * svg/graphics/SVGImage.cpp:
15627        (WebCore::SVGImage::draw):
15628
156292010-04-27  Yuzo Fujishima  <yuzo@google.com>
15630
15631        Reviewed by David Hyatt.
15632
15633        Retry of: Enhance CSS parser for Paged Media (Iteration 1)
15634
15635        In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
15636        The contents of the methods should be implemented by other changes.
15637
15638        https://bugs.webkit.org/show_bug.cgi?id=35329
15639
15640        Test: fast/css/parsing-page-rule.html
15641
15642        * css/CSSGrammar.y:
15643        * css/CSSParser.cpp:
15644        (WebCore::CSSParser::CSSParser):
15645        (WebCore::CSSParser::clearProperties):
15646        (WebCore::CSSParser::createPageRule):
15647        (WebCore::CSSParser::createMarginAtRule):
15648        (WebCore::CSSParser::startDeclarationsForMarginBox):
15649        (WebCore::CSSParser::endDeclarationsForMarginBox):
15650        * css/CSSParser.h:
15651        * css/CSSSelector.cpp:
15652        (WebCore::CSSSelector::pseudoId):
15653        (WebCore::nameToPseudoTypeMap):
15654        (WebCore::CSSSelector::extractPseudoType):
15655        * css/CSSSelector.h:
15656        (WebCore::CSSSelector::):
15657        * css/tokenizer.flex:
15658
156592010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
15660
15661        Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.
15662
15663        * loader/DocumentThreadableLoader.cpp:
15664        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
15665        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
15666        (WebCore::DocumentThreadableLoader::loadRequest):
15667
156682010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
15669
15670        Reviewed by Alexey Proskuryakov.
15671
15672        [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
15673        https://bugs.webkit.org/show_bug.cgi?id=37781
15674        <rdar://problem/7905150>
15675
15676        Tests: http/tests/xmlhttprequest/access-control-preflight-credential-async.html
15677               http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
15678
15679        * loader/DocumentThreadableLoader.cpp:
15680        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Now we remove the
15681        credential from the request here to avoid forgetting to do so in the different code path.
15682        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Just add the
15683        "Origin" header.
15684        (WebCore::DocumentThreadableLoader::loadRequest): Check here the the credential have
15685        been removed so that we don't leak them. Also tweaked a comment to make it clear that
15686        the URL check has issue when credential is involved.
15687
156882010-04-27  Sam Weinig  <sam@webkit.org>
15689
15690        Reviewed by Maciej Stachowiak.
15691
15692        Fix for https://bugs.webkit.org/show_bug.cgi?id=38238
15693        Allow both WebKit and WebKit2 to link to the same WebCore.framework
15694
15695        * Configurations/WebCore.xcconfig: Use -allowable_client WebKit2 to add
15696        WebKit2 to the list of frameworks that can link directly to WebCore. It
15697        is not necessary for it to be an umbrella since we don't need to reexport
15698        any symbols.
15699
157002010-04-27  Dumitru Daniliuc  <dumi@chromium.org>
15701
15702        Reviewed by David Levin.
15703
15704        Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases.
15705        https://bugs.webkit.org/show_bug.cgi?id=38191
15706
15707        Vacuum all databases when the number of free pages is at least 10%
15708        of the number of total pages. Also, add a guard against a bug that
15709        was fixed in SQLite only starting with version 3.6.16.
15710
15711        * platform/sql/SQLiteDatabase.cpp:
15712        (WebCore::SQLiteDatabase::maximumSize):
15713        (WebCore::SQLiteDatabase::freeSpaceSize):
15714        (WebCore::SQLiteDatabase::totalSize):
15715        (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
15716        (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
15717        * platform/sql/SQLiteDatabase.h:
15718        (WebCore::SQLiteDatabase::):
15719        * platform/sql/SQLiteStatement.cpp:
15720        (WebCore::SQLiteStatement::prepare):
15721        (WebCore::SQLiteStatement::step):
15722        * storage/Database.cpp:
15723        (WebCore::Database::performOpenAndVerify):
15724        (WebCore::Database::incrementalVacuumIfNeeded):
15725        * storage/Database.h:
15726        * storage/SQLTransaction.cpp:
15727        (WebCore::SQLTransaction::postflightAndCommit):
15728
157292010-04-27  Garret Kelly  <gdk@chromium.org>
15730
15731        Reviewed by Darin Fisher.
15732
15733        Turn all of the touch event handlers into RuntimeEnabledFeatures, and
15734        modify the createEvent methond on Document so that it won't create a
15735        TouchEvent if the feature is disabled.
15736        https://bugs.webkit.org/show_bug.cgi?id=37485
15737
15738        * bindings/generic/RuntimeEnabledFeatures.cpp:
15739        * bindings/generic/RuntimeEnabledFeatures.h:
15740        (WebCore::RuntimeEnabledFeatures::touchEnabled):
15741        (WebCore::RuntimeEnabledFeatures::setTouchEnabled):
15742        (WebCore::RuntimeEnabledFeatures::ontouchstartEnabled):
15743        (WebCore::RuntimeEnabledFeatures::ontouchmoveEnabled):
15744        (WebCore::RuntimeEnabledFeatures::ontouchendEnabled):
15745        (WebCore::RuntimeEnabledFeatures::ontouchcancelEnabled):
15746        * dom/Document.cpp:
15747        (WebCore::Document::createEvent):
15748        * dom/Document.idl:
15749        * dom/Element.idl:
15750        * page/DOMWindow.idl:
15751
157522010-04-27  Jens Alfke  <snej@chromium.org>
15753
15754        Reviewed by Darin Fisher.
15755
15756        [Chromium] Add some notifications and an accessor to WebKit API
15757        https://bugs.webkit.org/show_bug.cgi?id=37625
15758
15759        * dom/Node.cpp:
15760        (WebCore::Node::hasNonEmptyBoundingBox): New method.
15761        * dom/Node.h:
15762        * html/HTMLAnchorElement.cpp:
15763        (WebCore::HTMLAnchorElement::isKeyboardFocusable): Moved part of method into new Node method
15764
157652010-04-27  Jochen Eisinger  <jochen@chromium.org>
15766
15767        Reviewed by Shinichiro Hamaji.
15768
15769        Fix gyp build on Mac OS X with enable_svg=0.
15770        https://bugs.webkit.org/show_bug.cgi?id=38192
15771
15772        * WebCore.gyp/WebCore.gyp: Only generate SVG symbols if enable_svg!=0.
15773        * css/CSSComputedStyleDeclaration.cpp:
15774        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing unimplemented CSS properties to switch statement.
15775
157762010-04-27  Kinuko Yasuda  <kinuko@chromium.org>
15777
15778        Reviewed by Jian Li.
15779
15780        [V8] Handle OR ('|') conditional in action_derivedsourcesallinone.py
15781        https://bugs.webkit.org/show_bug.cgi?id=38207
15782
15783        No new tests.
15784
15785        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
15786
157872010-04-27  François Sausset  <sausset@gmail.com>
15788
15789        Reviewed by Kenneth Rohde Christiansen.
15790
15791        Implementation of the MathML mroot & msqrt elements.
15792        https://bugs.webkit.org/show_bug.cgi?id=37044
15793
15794        Test: mathml/presentation/roots.xhtml
15795
15796        * WebCore.xcodeproj/project.pbxproj:
15797        * css/mathml.css:
15798        (mroot):
15799        (mroot > * + *):
15800        (mroot > * + mrow, mroot > * + mfenced):
15801        * mathml/MathMLInlineContainerElement.cpp:
15802        (WebCore::MathMLInlineContainerElement::createRenderer):
15803        * mathml/RenderMathMLRoot.cpp: Added.
15804        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
15805        (WebCore::RenderMathMLRoot::addChild):
15806        (WebCore::RenderMathMLRoot::paint):
15807        (WebCore::RenderMathMLRoot::layout):
15808        * mathml/RenderMathMLRoot.h: Added.
15809        * mathml/RenderMathMLSquareRoot.cpp: Added.
15810        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
15811        (WebCore::RenderMathMLSquareRoot::paint):
15812        (WebCore::RenderMathMLSquareRoot::layout):
15813        * mathml/RenderMathMLSquareRoot.h: Added.
15814
158152010-04-27  Darin Adler  <darin@apple.com>
15816
15817        Reviewed by Maciej Stachowiak.
15818
15819        I noticed an unused forwarding header.
15820
15821        * ForwardingHeaders/runtime/PropertyMap.h: Removed.
15822
158232010-04-27  James Robinson  <jamesr@chromium.org>
15824
15825        Reviewed by Adam Barth.
15826
15827        Fix gcc 4.4.1 warnings on Linux in the chromium V8 bindings code.
15828        https://bugs.webkit.org/show_bug.cgi?id=38153
15829
15830        * bindings/scripts/CodeGeneratorV8.pm:
15831        * bindings/v8/V8Proxy.cpp:
15832        (WebCore::V8Proxy::callFunction):
15833
158342010-04-27  Eric Seidel  <eric@webkit.org>
15835
15836        Unreviewed, rolling out r58318.
15837        http://trac.webkit.org/changeset/58318
15838        https://bugs.webkit.org/show_bug.cgi?id=37215
15839
15840        Broke test on Tiger.  Might just need updated results,
15841        unclear.
15842
15843        * inspector/InspectorController.cpp:
15844        (WebCore::InspectorController::didReceiveResponse):
15845        (WebCore::InspectorController::didFailLoading):
15846        * inspector/front-end/Resource.js:
15847        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
15848        * inspector/front-end/ResourcesPanel.js:
15849        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
15850
158512010-04-27  Evan Martin  <evan@chromium.org>
15852
15853        Reviewed by David Levin.
15854
15855        [chromium] bold bengali text not rendered properly on Linux
15856        https://bugs.webkit.org/show_bug.cgi?id=37904
15857
15858        We must let Skia do font fallback, rather than picking a font name
15859        then handing that to Skia.  For example, if we have Bengali text and
15860        choose FreeSans + fake bold, and then later reuse the name, Skia will
15861        helpfully use FreeSansBold (which doesn't cover Bengali).
15862
15863        Test: fast/text/international/bold-bengali.html
15864
15865        * platform/graphics/chromium/FontCacheLinux.cpp:
15866        (WebCore::FontCache::getFontDataForCharacters):
15867
158682010-04-27  James Robinson  <jamesr@chromium.org>
15869
15870        Reviewed by Darin Adler.
15871
15872        Fix warnings emitted by gcc 4.4.1 on linux in chromium-specific platform graphics files.
15873        https://bugs.webkit.org/show_bug.cgi?id=38158
15874
15875        Most of the issues are signed/unsigned mismatches, but there are a few unusued variables
15876        and functions mixed in.
15877
15878        * platform/graphics/chromium/FontLinux.cpp:
15879        (WebCore::adjustTextRenderMode):
15880        (WebCore::TextRunWalker::getTextRun):
15881        (WebCore::TextRunWalker::getNormalizedTextRun):
15882        (WebCore::TextRunWalker::setGlyphXPositions):
15883        (WebCore::glyphIndexForXPositionInScriptRun):
15884        (WebCore::Font::offsetForPositionForComplexText):
15885        (WebCore::Font::selectionRectForComplexText):
15886        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
15887        (WebCore::FontPlatformData::setupPaint):
15888        * platform/graphics/chromium/HarfbuzzSkia.cpp:
15889        (WebCore::getOutlinePoint):
15890        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
15891        (WebCore::GraphicsContext3D::getImageData):
15892        * platform/graphics/skia/GraphicsContextSkia.cpp:
15893        (WebCore::isCoordinateSkiaSafe):
15894        (WebCore::GraphicsContext::fillRect):
15895        (WebCore::GraphicsContext::strokePath):
15896        (WebCore::GraphicsContext::strokeRect):
15897
158982010-04-27  Jian Li  <jianli@chromium.org>
15899
15900        Reviewed by Darin Adler.
15901
15902        Sending a package file using FormData crashes WebKit on Mac.
15903        https://bugs.webkit.org/show_bug.cgi?id=37882
15904
15905        Can't add a layout test because DRT does not support generating the file name.
15906
15907        * loader/FrameLoader.cpp:
15908        (WebCore::FrameLoader::submitForm):
15909        (WebCore::FrameLoader::navigateToDifferentDocument):
15910        * platform/network/FormData.cpp:
15911        (WebCore::FormData::appendDOMFormData):
15912        * platform/network/FormData.h:
15913        * xml/XMLHttpRequest.cpp:
15914        (WebCore::XMLHttpRequest::send):
15915
159162010-04-27  Adam Barth  <abarth@webkit.org>
15917
15918        Reviewed by Eric Seidel.
15919
15920        Remove custom NodeIterator bindings
15921        https://bugs.webkit.org/show_bug.cgi?id=38188
15922
15923        Another example of CallWith=ScriptState.  This case shows us the right
15924        way to handle the interaction with exception codes.
15925
15926        In my previous patch, I put the exception code handling after the
15927        ScriptState exception handling.  It turns out this was a mistake
15928        (although a harmless one at the time because no IDL caused us to
15929        generate that code).  Now that we're generating both kinds of exception
15930        handling, we need to generate them in the right order.
15931
15932        * WebCore.gypi:
15933        * bindings/js/JSNodeIteratorCustom.cpp:
15934        * bindings/scripts/CodeGeneratorJS.pm:
15935        * bindings/scripts/CodeGeneratorV8.pm:
15936        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
15937        (webkit_dom_test_obj_with_script_state_void_exception):
15938        (webkit_dom_test_obj_with_script_state_obj_exception):
15939        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
15940        * bindings/scripts/test/JS/JSTestObj.cpp:
15941        (WebCore::):
15942        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
15943        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
15944        * bindings/scripts/test/JS/JSTestObj.h:
15945        * bindings/scripts/test/ObjC/DOMTestObj.h:
15946        * bindings/scripts/test/ObjC/DOMTestObj.mm:
15947        (-[DOMTestObj withScriptStateVoidException]):
15948        (-[DOMTestObj withScriptStateObjException]):
15949        * bindings/scripts/test/TestObj.idl:
15950        * bindings/scripts/test/V8/V8TestObj.cpp:
15951        (WebCore::TestObjInternal::withScriptStateVoidCallback):
15952        (WebCore::TestObjInternal::withScriptStateObjCallback):
15953        (WebCore::TestObjInternal::withScriptStateVoidExceptionCallback):
15954        (WebCore::TestObjInternal::withScriptStateObjExceptionCallback):
15955        (WebCore::):
15956        * bindings/v8/custom/V8NodeIteratorCustom.cpp: Removed.
15957        * dom/NodeIterator.idl:
15958
159592010-04-27  Adam Barth  <abarth@webkit.org>
15960
15961        Reviewed by Darin Adler.
15962
15963        Remove copy/paste addEventListener "custom" bindings via code generation
15964        https://bugs.webkit.org/show_bug.cgi?id=38210
15965
15966        It's somewhat lame to special case addEventListener and
15967        removeEventListener in the code generator, but it saves a large amount
15968        of boilerplate "custom" bindings code.
15969
15970        Idea shamelessly stolen from the V8 code generator.
15971
15972        This patch points to some good refactoring opportunities in
15973        CodeGeneratorJS.pm, but I'm going to hold off on those for a future
15974        patch.  By generating test coverage for the code generator, we make
15975        these future refactorings easier.
15976
15977        * bindings/js/JSAbstractWorkerCustom.cpp:
15978        * bindings/js/JSDOMApplicationCacheCustom.cpp:
15979        * bindings/js/JSDesktopNotificationsCustom.cpp:
15980        * bindings/js/JSEventSourceCustom.cpp:
15981        * bindings/js/JSMessagePortCustom.cpp:
15982        * bindings/js/JSNodeCustom.cpp:
15983        * bindings/js/JSSVGElementInstanceCustom.cpp:
15984        * bindings/js/JSWebSocketCustom.cpp:
15985        * bindings/js/JSWorkerContextCustom.cpp:
15986        * bindings/js/JSXMLHttpRequestCustom.cpp:
15987        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15988        * bindings/scripts/CodeGeneratorJS.pm:
15989        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
15990        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
15991        * bindings/scripts/test/JS/JSTestObj.cpp:
15992        (WebCore::):
15993        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
15994        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
15995        * bindings/scripts/test/JS/JSTestObj.h:
15996        * bindings/scripts/test/ObjC/DOMTestObj.h:
15997        * bindings/scripts/test/ObjC/DOMTestObj.mm:
15998        (-[DOMTestObj addEventListener:listener:useCapture:]):
15999        (-[DOMTestObj removeEventListener:listener:useCapture:]):
16000        * bindings/scripts/test/TestObj.idl:
16001        * bindings/scripts/test/V8/V8TestObj.cpp:
16002        (WebCore::TestObjInternal::addEventListenerCallback):
16003        (WebCore::TestObjInternal::removeEventListenerCallback):
16004        (WebCore::):
16005        * dom/MessagePort.idl:
16006        * dom/Node.idl:
16007        * loader/appcache/DOMApplicationCache.idl:
16008        * notifications/Notification.idl:
16009        * page/EventSource.idl:
16010        * svg/SVGElementInstance.idl:
16011        * websockets/WebSocket.idl:
16012        * workers/AbstractWorker.idl:
16013        * workers/WorkerContext.idl:
16014        * xml/XMLHttpRequest.idl:
16015        * xml/XMLHttpRequestUpload.idl:
16016
160172010-04-27  Sam Weinig  <sam@webkit.org>
16018
16019        Rubber-stamped by Beth Dakin.
16020
16021        Remove now unnecessary EXPERIMENTAL_SINGLE_VIEW_MODE #define.
16022
16023        * page/EventHandler.cpp:
16024        (WebCore::EventHandler::EventHandler):
16025        (WebCore::EventHandler::clearDragState):
16026        * page/EventHandler.h:
16027        * page/mac/DragControllerMac.mm:
16028        * page/mac/EventHandlerMac.mm:
16029        * platform/mac/PopupMenuMac.mm:
16030
160312010-04-27  Ben Murdoch  <benm@google.com>
16032
16033        Reviewed by Simon Hausmann.
16034
16035        The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.
16036        https://bugs.webkit.org/show_bug.cgi?id=37609
16037
16038        No new tests required, only updating documentation.
16039
16040        * page/EventHandler.cpp:
16041        (WebCore::EventHandler::handleTouchEvent): Improve the documentation for handling
16042            the TouchStationary state as a result of discussions in bug 37609.
16043
160442010-04-27  Simon Fraser  <simon.fraser@apple.com>
16045
16046        Reviewed by Darin Adler, Maciej Stachowiak.
16047
16048        REGRESSION (r57919): Some pages opened in background tabs don't render the first time you activate their tab
16049        https://bugs.webkit.org/show_bug.cgi?id=38183
16050
16051        Rather than sprinkle PLATFORM #ifdefs around, add a new method,
16052        RenderLayerCompositor::shouldPropagateCompositingToIFrameParent(), that indicates whether
16053        an iframe with composited content should trigger compositing mode in the enclosing document
16054        (a behavior that differs between platforms).
16055        
16056        Use this new method to determine whether to trigger a style recalc in the parent document
16057        when an iframe becomes composited.
16058        
16059        Move the code formerly in RenderView::compositingStateChanged() into RenderLayerCompositor().
16060
16061        * manual-tests/compositing/accel-comp-iframe-tab-repaint.html: Added.
16062        * manual-tests/compositing/resources/flash-frame.html: Added.
16063        * manual-tests/compositing/resources/tab-repaint-part-2.html: Added.
16064        * rendering/RenderLayerCompositor.cpp:
16065        (WebCore::RenderLayerCompositor::enableCompositingMode):
16066        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToIFrameParent):
16067        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
16068        * rendering/RenderLayerCompositor.h:
16069        * rendering/RenderView.cpp:
16070        * rendering/RenderView.h:
16071
160722010-04-27  Andrey Kosyakov  <caseq@chromium.org>
16073
16074        Reviewed by Yury Semikhatsky.
16075
16076        Log error message to inspector console if a resource fails to load.
16077        Disable checking of mime-type consistency for failed resources.
16078        https://bugs.webkit.org/show_bug.cgi?id=37215
16079
16080        Test: http/tests/inspector/console-resource-errors.html
16081
16082        * inspector/InspectorController.cpp:
16083        (WebCore::InspectorController::didReceiveResponse):
16084        (WebCore::InspectorController::didFailLoading):
16085        * inspector/front-end/Resource.js:
16086        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
16087        * inspector/front-end/ResourcesPanel.js:
16088        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
16089
160902010-04-27  Vitaly Repeshko  <vitalyr@chromium.org>
16091
16092        Reviewed by Nate Chapin.
16093
16094        [V8] Fix XHR memory leak in GC controller.
16095        https://bugs.webkit.org/show_bug.cgi?id=38202
16096
16097        http://trac.webkit.org/changeset/55798 simplified processing of
16098        active DOM objects but introduced a subtle bug in garbage
16099        collection of XHRs. ActiveDOMObject is not a direct base class of
16100        XHR and so upcasting changes pointer identity and breaks DOM
16101        maps. This leads to forever live persistent handles to XHR that
16102        had pending activity while V8 GC happened.
16103
16104        * bindings/v8/V8GCController.cpp:
16105        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
16106
161072010-04-27  Adam Barth  <abarth@webkit.org>
16108
16109        Unreviewed.  Regenerate reference bindings code generator output.
16110
16111        * bindings/scripts/test/V8/V8TestObj.cpp:
16112        (WebCore::TestObjInternal::withScriptStateVoidCallback):
16113        (WebCore::TestObjInternal::withScriptStateObjCallback):
16114
161152010-04-27  Joseph Pecoraro  <joepeck@webkit.org>
16116
16117        Reviewed by Dan Bernstein.
16118
16119        <input type="search"> with uneven padding causes text clipping
16120        https://bugs.webkit.org/show_bug.cgi?id=38160
16121
16122        Test: fast/css/input-search-padding.html
16123
16124        An <input type="search"> contains an inner block, which is explicitly
16125        centered in RenderTextControlSingleLine based on the height of the element.
16126        However, the clipping rect was not using the set location, and instead
16127        calculated off of the top border and padding alone. This also vertically
16128        centers the Caps Lock indicator.
16129
16130        * rendering/RenderTextControl.cpp: moved controlClipRect implementation to RenderTextControlSingleLine
16131        * rendering/RenderTextControl.h: allow a subclass implementation of controlClipRect, removed redundant hasControlClip implementation, and moved controlClipRect
16132        * rendering/RenderTextControlSingleLine.cpp:
16133        (WebCore::RenderTextControlSingleLine::paint): vertically center the Caps Lock indicator
16134        (WebCore::RenderTextControlSingleLine::controlClipRect): use the set location of the anonymous inner block instead
16135        * rendering/RenderTextControlSingleLine.h: allow for an implementation of controlClipRect for <input type="search">
16136
161372010-04-27  Thomas Zander <t.zander@nokia.com>
16138
16139        Reviewed by Simon Hausmann.
16140
16141        [Qt] Fix linking on Symbian on Linux using the Makefile based mkspec.
16142
16143        Disable thumb mode due to library size limitations, just like it's done
16144        for the sbs/sbsv2 based build system.
16145
16146        * WebCore.pro:
16147
161482010-04-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16149
16150        Reviewed by Kenneth Rohde Christiansen.
16151
16152        [Qt] Make sure WebKit is not compiled using C++0x.
16153        https://bugs.webkit.org/show_bug.cgi?id=37867
16154
16155        As the rest of Qt compiles in the C++0x mode, people might start
16156        compiling it in this mode. WebKit don't support this yet.
16157
16158        Patch by Thiago Macieira <thiago.macieira@nokia.com>
16159
16160        * WebCore.pro:
16161
161622010-04-27  Jeremy Orlow  <jorlow@chromium.org>
16163
16164        Unreviewed build fix.
16165
16166        Revert 58274 and 58269 (WebSQLDatabase changes)
16167        https://bugs.webkit.org/show_bug.cgi?id=38191
16168
16169        Chromium bots are hitting ASSERTS when running layout tests.
16170
16171        * platform/sql/SQLiteDatabase.cpp:
16172        (WebCore::SQLiteDatabase::maximumSize):
16173        (WebCore::SQLiteDatabase::freeSpaceSize):
16174        * platform/sql/SQLiteDatabase.h:
16175        * platform/sql/SQLiteStatement.cpp:
16176        (WebCore::SQLiteStatement::prepare):
16177        * storage/Database.cpp:
16178        (WebCore::Database::performOpenAndVerify):
16179        * storage/Database.h:
16180        * storage/SQLTransaction.cpp:
16181        (WebCore::SQLTransaction::postflightAndCommit):
16182
161832010-04-27  Yuzo Fujishima  <yuzo@google.com>
16184
16185        Unreviewed, fix build breakage by reverting r58299.
16186
16187        * css/CSSGrammar.y:
16188        * css/CSSParser.cpp:
16189        (WebCore::CSSParser::CSSParser):
16190        (WebCore::CSSParser::clearProperties):
16191        * css/CSSParser.h:
16192        * css/CSSSelector.cpp:
16193        (WebCore::CSSSelector::pseudoId):
16194        (WebCore::nameToPseudoTypeMap):
16195        (WebCore::CSSSelector::extractPseudoType):
16196        * css/CSSSelector.h:
16197        (WebCore::CSSSelector::):
16198        * css/tokenizer.flex:
16199
162002010-04-27  Yuzo Fujishima  <yuzo@google.com>
16201
16202        Reviewed by Shinichiro Hamaji.
16203
16204        WebCore::CSSSelector::RareData::parseNth doesn't check whether the search for '-' in the argument was successful.
16205        This results in incorrect parsing.
16206        For example, '3n' is parsed as if it were '3n-3'. The code has been working OK just accidentally.
16207
16208        https://bugs.webkit.org/show_bug.cgi?id=37787
16209
16210        No new tests are added because the original behavior is accidentally OK.
16211
16212        * css/CSSSelector.cpp:
16213        (WebCore::CSSSelector::RareData::parseNth):
16214
162152010-04-27  Yuzo Fujishima  <yuzo@google.com>
16216
16217        Reviewed by David Hyatt.
16218
16219        Enhance CSS parser for Paged Media (Iteration 1)
16220
16221        In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
16222        The contents of the methods should be implemented by other changes.
16223
16224        https://bugs.webkit.org/show_bug.cgi?id=35329
16225
16226        Test: fast/css/parsing-page-rule.html
16227
16228        * css/CSSGrammar.y:
16229        * css/CSSParser.cpp:
16230        (WebCore::CSSParser::CSSParser):
16231        (WebCore::CSSParser::clearProperties):
16232        (WebCore::CSSParser::lex):
16233        (WebCore::CSSParser::text):
16234        (WebCore::CSSParser::createPageRule):
16235        (WebCore::CSSParser::createMarginAtRule):
16236        (WebCore::CSSParser::startDeclarationsForMarginBox):
16237        (WebCore::CSSParser::endDeclarationsForMarginBox):
16238        * css/CSSParser.h:
16239        * css/CSSSelector.cpp:
16240        (WebCore::CSSSelector::extractPseudoType):
16241        * css/CSSSelector.h:
16242        (WebCore::CSSSelector::):
16243        * css/tokenizer.flex:
16244
162452010-04-27  Adam Barth  <abarth@webkit.org>
16246
16247        Reviewed by Eric Seidel.
16248
16249        Remove custom bindings for TreeWalker
16250        https://bugs.webkit.org/show_bug.cgi?id=38182
16251
16252        This custom code is just CallWith=ScriptState.
16253
16254        * WebCore.gypi:
16255        * bindings/js/JSTreeWalkerCustom.cpp:
16256        (WebCore::JSTreeWalker::markChildren):
16257        * bindings/scripts/CodeGeneratorJS.pm:
16258        * bindings/scripts/CodeGeneratorV8.pm:
16259        * bindings/scripts/test/TestObj.idl:
16260        * bindings/v8/custom/V8TreeWalkerCustom.cpp: Removed.
16261        * dom/TreeWalker.idl:
16262
162632010-04-27  Eric Seidel  <eric@webkit.org>
16264
16265        Reviewed by Adam Barth.
16266
16267        Move code out of GenerateImplementation to make it more smaller
16268        https://bugs.webkit.org/show_bug.cgi?id=38176
16269
16270        * bindings/scripts/CodeGeneratorJS.pm:
16271         - Move some code into a new GenerateAttributesHashTable method.
16272
162732010-04-26  Adam Barth  <abarth@webkit.org>
16274
16275        Reviewed by Eric Seidel.
16276
16277        Add CallWith=DynamicFrame to CodeGenerator
16278        https://bugs.webkit.org/show_bug.cgi?id=38174
16279
16280        I've only used this in one instance, but this is infrastructure that I
16281        think will help remove a bunch of custom bindings code.  Also, added a
16282        few tests of tricky argument cases.
16283
16284        * bindings/js/JSHTMLFormElementCustom.cpp:
16285        * bindings/scripts/CodeGeneratorJS.pm:
16286        * bindings/scripts/CodeGeneratorV8.pm:
16287        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
16288        (webkit_dom_test_obj_with_dynamic_frame):
16289        (webkit_dom_test_obj_with_dynamic_frame_and_arg):
16290        (webkit_dom_test_obj_with_dynamic_frame_and_optional_arg):
16291        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture):
16292        (webkit_dom_test_obj_with_dynamic_frame_and_user_gesture_asad):
16293        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
16294        * bindings/scripts/test/JS/JSTestObj.cpp:
16295        (WebCore::):
16296        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
16297        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
16298        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
16299        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
16300        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
16301        * bindings/scripts/test/JS/JSTestObj.h:
16302        * bindings/scripts/test/ObjC/DOMTestObj.h:
16303        * bindings/scripts/test/ObjC/DOMTestObj.mm:
16304        (-[DOMTestObj withDynamicFrame]):
16305        (-[DOMTestObj withDynamicFrameAndArg:]):
16306        (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
16307        (-[DOMTestObj withDynamicFrameAndUserGesture:]):
16308        (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
16309        * bindings/scripts/test/TestObj.idl:
16310        * bindings/scripts/test/V8/V8TestObj.cpp:
16311        (WebCore::TestObjInternal::withDynamicFrameCallback):
16312        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback):
16313        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback):
16314        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback):
16315        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback):
16316        (WebCore::):
16317        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
16318        * html/HTMLFormElement.idl:
16319
163202010-04-26  Adam Barth  <abarth@webkit.org>
16321
16322        Unreviewed.  Update comment to better reflect reality.
16323
16324        * bindings/scripts/test/TestObj.idl:
16325
163262010-04-26  Adam Barth  <abarth@webkit.org>
16327
16328        Reviewed by Eric Seidel.
16329
16330        Add ObjC and GObject to run-bindings-test
16331        https://bugs.webkit.org/show_bug.cgi?id=38168
16332
16333        Added expected results.
16334
16335        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Added.
16336        (WebKit::kit):
16337        (webkit_dom_test_obj_void_method):
16338        (webkit_dom_test_obj_void_method_with_args):
16339        (webkit_dom_test_obj_int_method):
16340        (webkit_dom_test_obj_int_method_with_args):
16341        (webkit_dom_test_obj_obj_method):
16342        (webkit_dom_test_obj_obj_method_with_args):
16343        (webkit_dom_test_obj_method_with_exception):
16344        (webkit_dom_test_obj_method_with_optional_arg):
16345        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
16346        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
16347        (webkit_dom_test_obj_get_read_only_int_attr):
16348        (webkit_dom_test_obj_get_read_only_string_attr):
16349        (webkit_dom_test_obj_get_read_only_test_obj_attr):
16350        (webkit_dom_test_obj_get_int_attr):
16351        (webkit_dom_test_obj_set_int_attr):
16352        (webkit_dom_test_obj_get_string_attr):
16353        (webkit_dom_test_obj_set_string_attr):
16354        (webkit_dom_test_obj_get_test_obj_attr):
16355        (webkit_dom_test_obj_set_test_obj_attr):
16356        (webkit_dom_test_obj_get_attr_with_exception):
16357        (webkit_dom_test_obj_set_attr_with_exception):
16358        (webkit_dom_test_obj_get_attr_with_setter_exception):
16359        (webkit_dom_test_obj_set_attr_with_setter_exception):
16360        (webkit_dom_test_obj_get_attr_with_getter_exception):
16361        (webkit_dom_test_obj_set_attr_with_getter_exception):
16362        (WebKit::wrapTestObj):
16363        (WebKit::core):
16364        (webkit_dom_test_obj_finalize):
16365        (webkit_dom_test_obj_set_property):
16366        (webkit_dom_test_obj_get_property):
16367        (webkit_dom_test_obj_class_init):
16368        (webkit_dom_test_obj_init):
16369        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Added.
16370        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h: Added.
16371        * bindings/scripts/test/ObjC/DOMTestObj.h: Added.
16372        * bindings/scripts/test/ObjC/DOMTestObj.mm: Added.
16373        (-[DOMTestObj dealloc]):
16374        (-[DOMTestObj finalize]):
16375        (-[DOMTestObj readOnlyIntAttr]):
16376        (-[DOMTestObj readOnlyStringAttr]):
16377        (-[DOMTestObj readOnlyTestObjAttr]):
16378        (-[DOMTestObj intAttr]):
16379        (-[DOMTestObj setIntAttr:]):
16380        (-[DOMTestObj stringAttr]):
16381        (-[DOMTestObj setStringAttr:]):
16382        (-[DOMTestObj testObjAttr]):
16383        (-[DOMTestObj setTestObjAttr:]):
16384        (-[DOMTestObj attrWithException]):
16385        (-[DOMTestObj setAttrWithException:]):
16386        (-[DOMTestObj attrWithSetterException]):
16387        (-[DOMTestObj setAttrWithSetterException:]):
16388        (-[DOMTestObj attrWithGetterException]):
16389        (-[DOMTestObj setAttrWithGetterException:]):
16390        (-[DOMTestObj customAttr]):
16391        (-[DOMTestObj setCustomAttr:]):
16392        (-[DOMTestObj voidMethod]):
16393        (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
16394        (-[DOMTestObj intMethod]):
16395        (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
16396        (-[DOMTestObj objMethod]):
16397        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
16398        (-[DOMTestObj methodWithException]):
16399        (-[DOMTestObj customMethod]):
16400        (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
16401        (-[DOMTestObj methodWithOptionalArg:]):
16402        (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
16403        (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
16404        (core):
16405        (kit):
16406        * bindings/scripts/test/ObjC/DOMTestObjInternal.h: Added.
16407
164082010-04-26  Adam Barth  <abarth@webkit.org>
16409
16410        Reviewed by Eric Seidel.
16411
16412        Add testing infrastructure for JSC bindings generator
16413        https://bugs.webkit.org/show_bug.cgi?id=38167
16414
16415        This required moving the test files around a bit more.
16416
16417        * bindings/scripts/test/JS/JSTestObj.cpp: Added.
16418        (WebCore::):
16419        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
16420        (WebCore::JSTestObjConstructor::classInfo):
16421        (WebCore::JSTestObjConstructor::createStructure):
16422        (WebCore::JSTestObjConstructor::getOwnPropertySlot):
16423        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
16424        (WebCore::JSTestObjPrototype::self):
16425        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
16426        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
16427        (WebCore::JSTestObj::JSTestObj):
16428        (WebCore::JSTestObj::~JSTestObj):
16429        (WebCore::JSTestObj::createPrototype):
16430        (WebCore::JSTestObj::getOwnPropertySlot):
16431        (WebCore::JSTestObj::getOwnPropertyDescriptor):
16432        (WebCore::jsTestObjReadOnlyIntAttr):
16433        (WebCore::jsTestObjReadOnlyStringAttr):
16434        (WebCore::jsTestObjReadOnlyTestObjAttr):
16435        (WebCore::jsTestObjIntAttr):
16436        (WebCore::jsTestObjStringAttr):
16437        (WebCore::jsTestObjTestObjAttr):
16438        (WebCore::jsTestObjAttrWithException):
16439        (WebCore::jsTestObjAttrWithSetterException):
16440        (WebCore::jsTestObjAttrWithGetterException):
16441        (WebCore::jsTestObjCustomAttr):
16442        (WebCore::jsTestObjConstructor):
16443        (WebCore::JSTestObj::put):
16444        (WebCore::setJSTestObjIntAttr):
16445        (WebCore::setJSTestObjStringAttr):
16446        (WebCore::setJSTestObjTestObjAttr):
16447        (WebCore::setJSTestObjAttrWithException):
16448        (WebCore::setJSTestObjAttrWithSetterException):
16449        (WebCore::setJSTestObjAttrWithGetterException):
16450        (WebCore::setJSTestObjCustomAttr):
16451        (WebCore::JSTestObj::getConstructor):
16452        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
16453        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
16454        (WebCore::jsTestObjPrototypeFunctionIntMethod):
16455        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
16456        (WebCore::jsTestObjPrototypeFunctionObjMethod):
16457        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
16458        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
16459        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
16460        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
16461        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
16462        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
16463        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
16464        (WebCore::toJS):
16465        (WebCore::toTestObj):
16466        * bindings/scripts/test/JS/JSTestObj.h: Added.
16467        (WebCore::JSTestObj::classInfo):
16468        (WebCore::JSTestObj::createStructure):
16469        (WebCore::JSTestObj::impl):
16470        (WebCore::JSTestObjPrototype::classInfo):
16471        (WebCore::JSTestObjPrototype::createStructure):
16472        (WebCore::JSTestObjPrototype::JSTestObjPrototype):
16473        * bindings/scripts/test/TestObj.idl:
16474        * bindings/scripts/test/V8/V8TestObj.cpp: Renamed from WebCore/bindings/scripts/test/V8TestObj.cpp.
16475        (WebCore::):
16476        (WebCore::TestObjInternal::V8_USE):
16477        (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
16478        (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
16479        (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
16480        (WebCore::TestObjInternal::intAttrAttrGetter):
16481        (WebCore::TestObjInternal::intAttrAttrSetter):
16482        (WebCore::TestObjInternal::stringAttrAttrGetter):
16483        (WebCore::TestObjInternal::stringAttrAttrSetter):
16484        (WebCore::TestObjInternal::testObjAttrAttrGetter):
16485        (WebCore::TestObjInternal::testObjAttrAttrSetter):
16486        (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
16487        (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
16488        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
16489        (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
16490        (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
16491        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
16492        (WebCore::TestObjInternal::voidMethodCallback):
16493        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
16494        (WebCore::TestObjInternal::intMethodCallback):
16495        (WebCore::TestObjInternal::intMethodWithArgsCallback):
16496        (WebCore::TestObjInternal::objMethodCallback):
16497        (WebCore::TestObjInternal::objMethodWithArgsCallback):
16498        (WebCore::TestObjInternal::methodWithExceptionCallback):
16499        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
16500        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
16501        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
16502        (WebCore::TestObjInternal::overloadedMethod1Callback):
16503        (WebCore::TestObjInternal::overloadedMethod2Callback):
16504        (WebCore::TestObjInternal::overloadedMethod3Callback):
16505        (WebCore::TestObjInternal::overloadedMethod4Callback):
16506        (WebCore::TestObjInternal::overloadedMethodCallback):
16507        (WebCore::ConfigureV8TestObjTemplate):
16508        (WebCore::V8TestObj::GetRawTemplate):
16509        (WebCore::V8TestObj::GetTemplate):
16510        (WebCore::V8TestObj::toNative):
16511        (WebCore::V8TestObj::HasInstance):
16512        (WebCore::V8TestObj::wrap):
16513        (WebCore::toV8):
16514        (WebCore::V8TestObj::derefObject):
16515        * bindings/scripts/test/V8/V8TestObj.h: Renamed from WebCore/bindings/scripts/test/V8TestObj.h.
16516
165172010-04-26  Oliver Hunt  <oliver@apple.com>
16518
16519        Reviewed by Gavin Barraclough.
16520
16521        Need to support more efficient dispatch of lightweight builtins
16522        https://bugs.webkit.org/show_bug.cgi?id=38155
16523
16524        Update bindings generation to include new thunk generator field
16525        in the property map hash tables.
16526
16527        * bindings/scripts/CodeGeneratorJS.pm:
16528
165292010-04-26  Adam Barth  <abarth@webkit.org>
16530
16531        Reviewed by Eric Seidel.
16532
16533        Move bindings test directory into the scripts directory
16534        https://bugs.webkit.org/show_bug.cgi?id=38161
16535
16536        This test is really of the bindings scripts not of the bindings
16537        themselves.  By moving the files into the scripts directory, we'll be
16538        able to test JSC as well.
16539
16540        * bindings/scripts/test/TestObj.idl: Renamed from WebCore/bindings/v8/test/TestObj.idl.
16541        * bindings/scripts/test/V8TestObj.cpp: Renamed from WebCore/bindings/v8/test/V8TestObj.cpp.
16542        (WebCore::):
16543        (WebCore::TestObjInternal::V8_USE):
16544        (WebCore::TestObjInternal::readOnlyIntAttrAttrGetter):
16545        (WebCore::TestObjInternal::readOnlyStringAttrAttrGetter):
16546        (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
16547        (WebCore::TestObjInternal::intAttrAttrGetter):
16548        (WebCore::TestObjInternal::intAttrAttrSetter):
16549        (WebCore::TestObjInternal::stringAttrAttrGetter):
16550        (WebCore::TestObjInternal::stringAttrAttrSetter):
16551        (WebCore::TestObjInternal::testObjAttrAttrGetter):
16552        (WebCore::TestObjInternal::testObjAttrAttrSetter):
16553        (WebCore::TestObjInternal::attrWithExceptionAttrGetter):
16554        (WebCore::TestObjInternal::attrWithExceptionAttrSetter):
16555        (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
16556        (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
16557        (WebCore::TestObjInternal::attrWithGetterExceptionAttrGetter):
16558        (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
16559        (WebCore::TestObjInternal::voidMethodCallback):
16560        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
16561        (WebCore::TestObjInternal::intMethodCallback):
16562        (WebCore::TestObjInternal::intMethodWithArgsCallback):
16563        (WebCore::TestObjInternal::objMethodCallback):
16564        (WebCore::TestObjInternal::objMethodWithArgsCallback):
16565        (WebCore::TestObjInternal::methodWithExceptionCallback):
16566        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
16567        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
16568        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
16569        (WebCore::TestObjInternal::overloadedMethod1Callback):
16570        (WebCore::TestObjInternal::overloadedMethod2Callback):
16571        (WebCore::TestObjInternal::overloadedMethod3Callback):
16572        (WebCore::TestObjInternal::overloadedMethod4Callback):
16573        (WebCore::TestObjInternal::overloadedMethodCallback):
16574        (WebCore::ConfigureV8TestObjTemplate):
16575        (WebCore::V8TestObj::GetRawTemplate):
16576        (WebCore::V8TestObj::GetTemplate):
16577        (WebCore::V8TestObj::toNative):
16578        (WebCore::V8TestObj::HasInstance):
16579        (WebCore::V8TestObj::wrap):
16580        (WebCore::toV8):
16581        (WebCore::V8TestObj::derefObject):
16582        * bindings/scripts/test/V8TestObj.h: Renamed from WebCore/bindings/v8/test/V8TestObj.h.
16583
165842010-04-26  Daniel Cheng  <dcheng@chromium.org>
16585
16586        Reviewed by Jian Li.
16587
16588        [chromium] Fix ChromiumDataObject::setURL to not populate its internal URL list with empty URLs.
16589        https://bugs.webkit.org/show_bug.cgi?id=38159
16590
16591        No new tests.
16592
16593        * platform/chromium/ChromiumDataObject.h:
16594        (WebCore::ChromiumDataObject::setURL):
16595
165962010-04-26  Daniel Cheng  <dcheng@chromium.org>
16597
16598        Reviewed by Jian Li.
16599
16600        [Chromium] Don't make file paths available in text/uri-list when dragging files.
16601        https://bugs.webkit.org/show_bug.cgi?id=25882
16602
16603        Test will be checked in with WebCore/platform/mac fix.
16604
16605        * platform/chromium/ClipboardChromium.cpp:
16606        (WebCore::ClipboardChromium::getData):
16607        (WebCore::ClipboardChromium::types):
16608
166092010-04-26  Maciej Stachowiak  <mjs@apple.com>
16610
16611        Reviewed by Darin Adler.
16612
16613        REGRESSION (r57292): 1.5% page load speed regression from visited link information leak fix
16614        https://bugs.webkit.org/show_bug.cgi?id=38131
16615
16616        I did a number of separate optimizations which speed up style
16617        resolution enough to more than make up for the regression. This
16618        measures as a total PLT speedup of somewhere between 1.5% and
16619        3.7%.
16620       
16621        Optimizations done:
16622        - Cache determineLinkState results, to avoid the need to repeatedly compute
16623        the visited link hash for the same element. This directly addresses much
16624        of the slowdown, since all elements get their style computed twice now.
16625        - Added a fast way to get the length of a CSSMutableStyleDeclaration, and use
16626        in CSSStyleSelector::matchRulesForList, since it was hot there.
16627        - Hoist some loop invariant code that's not detected by the compiler out of the
16628        main loop in matchRulesForList
16629        - inline CSSStyleSelector::initElement and locateSharedStyle,
16630        since there is only one call site in each case
16631        - Inline the common non-line fast case of determineLinkState, and split the rest into
16632        out-of-line determineLinkStateSlowCase.
16633        - Added inline versions of the functions called by
16634        visitedLinkHash (the version called by determineLinkState).
16635
16636        * css/CSSMutableStyleDeclaration.cpp:
16637        (WebCore::CSSMutableStyleDeclaration::length): Implemented in terms of new
16638        inline nonvirtual mutableLength().
16639        * css/CSSMutableStyleDeclaration.h:
16640        (WebCore::CSSMutableStyleDeclaration::mutableLength): Added new nonvirtual
16641        inline way to get the length if you know you have a mutable style decl.
16642        * css/CSSStyleSelector.cpp:
16643        (WebCore::CSSStyleSelector::init): Clear cached link state.
16644        (WebCore::CSSStyleSelector::matchRulesForList): hoist some code out of the main
16645        loop and get style decl length more efficiently.
16646        (WebCore::CSSStyleSelector::initElement): inline (only one call site)
16647        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState): Inline fast
16648        case, call slow case.
16649        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase): Split
16650        most of the above function into this slow case helper.
16651        (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the cache-enabled
16652        way to get the current link state.
16653        (WebCore::CSSStyleSelector::locateSharedStyle): inline
16654        (WebCore::CSSStyleSelector::styleForElement): Use the cache-enabled way
16655        to get the current link state.
16656        * css/CSSStyleSelector.h:
16657        (WebCore::CSSStyleSelector::currentElementLinkState): inline way to
16658        get link state for the current element; manages the cache
16659        * platform/LinkHash.cpp:
16660        (WebCore::visitedLinkHashInline): inline version of below function
16661        (WebCore::visitedLinkHash): call the inline version
16662        (WebCore::visitedURLInline): inline version of below function
16663        (WebCore::visitedURL): call the inline version
16664        (WebCore::visitedURL): call inline versions of above two functions
16665
166662010-04-26  Sam Weinig  <sam@webkit.org>
16667
16668        Reviewed by Alexey Proskuryakov.
16669
16670        Remove last use of WEB_THREAD.
16671
16672        * platform/mac/WebCoreObjCExtras.mm:
16673        (WebCoreObjCScheduleDeallocateOnMainThread): This can always use
16674        isMainThread().
16675
166762010-04-26  Dumitru Daniliuc  <dumi@chromium.org>
16677
16678        Reviewed by Dimitri Glazkov.
16679
16680        Turn on AUTO_VACUUM = INCREMENTAL for all HTML5 databases, and
16681        vacuum all databases when the number of free pages is at least 10%
16682        of the number of total pages. Also, adding a guard against a bug
16683        that was fixed in SQLite only starting with version 3.6.16.
16684
16685        https://bugs.webkit.org/show_bug.cgi?id=36251
16686
16687        * platform/sql/SQLiteDatabase.cpp:
16688        (WebCore::SQLiteDatabase::totalSize):
16689        (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
16690        (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
16691        * platform/sql/SQLiteDatabase.h:
16692        * platform/sql/SQLiteStatement.cpp:
16693        (WebCore::SQLiteStatement::prepare):
16694        * storage/Database.cpp:
16695        (WebCore::Database::performOpenAndVerify):
16696        (WebCore::Database::incrementalVacuumIfNeeded):
16697        * storage/Database.h:
16698        * storage/SQLTransaction.cpp:
16699        (WebCore::SQLTransaction::postflightAndCommit):
16700
167012010-04-26  Geoffrey Garen  <ggaren@apple.com>
16702
16703        Reviewed by Sam Weinig.
16704
16705        <rdar://problem/7766413>
16706        
16707        Fixed a crash seen when using the JavaScriptCore API with WebKit.
16708        
16709        No layout test because DumpRenderTree doesn't use the JavaScriptCore API
16710        in this way.
16711
16712        * bindings/js/JSEventListener.cpp:
16713        (WebCore::JSEventListener::JSEventListener): Don't assign 0 to a WeakGCPtr.
16714        JavaScriptCore no longer allows this.
16715
16716        * bindings/js/ScriptWrappable.h:
16717        (WebCore::ScriptWrappable::setWrapper): No need to initialize a WeakGCPtr
16718        to 0, or ASSERT a non-0 value before assigning to a WeakGCPtr -- both are
16719        default behaviors.
16720
167212010-04-25  Sam Weinig  <sam@webkit.org>
16722
16723        Reviewed by Maciej Stachowiak.
16724
16725        Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
16726        Disentangle initializing the main thread from initializing threading
16727
16728        * WebCore.xcodeproj/project.pbxproj: Sort files.
16729
16730        * accessibility/mac/AccessibilityObjectWrapper.mm: Remove unnessary
16731        +initialize method. The AccessibilityObjectWrapper has no data members
16732        that need to be derefed, so it does not need to be finalized on the main
16733        thread.
16734
16735        * bindings/js/ScriptController.cpp:
16736        (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
16737        * bindings/objc/WebScriptObject.mm:
16738        (+[WebScriptObject initialize]): Add call to initializeMainThreadToProcessMainThread.
16739        * bindings/v8/ScriptController.cpp:
16740        (WebCore::ScriptController::initializeThreading): Add call to initializeMainThread.
16741        * platform/mac/SharedBufferMac.mm:
16742        (+[WebCoreSharedBufferData initialize]): Add call to initializeMainThreadToProcessMainThread.
16743
167442010-04-26  Yongjun Zhang  <yongjun_zhang@apple.com>
16745
16746        Reviewed by Alexey Proskuryakov.
16747        
16748        https://bugs.webkit.org/show_bug.cgi?id=38128
16749        Don't add empty credential to CredentialStorage.
16750        
16751        An empty credential is currently regarded as a invalid login because it means a missing value in 
16752        protectionSpaceToCredentialMap.  This change makes it consistent with current WebCore's behavior
16753        by ignoring empty credentials.
16754        
16755        No new tests added since this only affects credential entered by user from credential dialog,
16756        which is not testable in DRT.
16757
16758        * platform/network/mac/ResourceHandleMac.mm:
16759        (WebCore::ResourceHandle::receivedCredential):
16760
167612010-04-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16762
16763        Reviewed by Simon Hausmann.
16764
16765        [Qt] Clean-up WebCore.pro after now that JavaScriptCore is built separately
16766        https://bugs.webkit.org/show_bug.cgi?id=38123
16767
16768        HAVE_STDINT_H, and HAVE_PTHREAD_NP_H no longer needs to be defined
16769        for QtWebKit  as JavaScriptCore is built separately. These defines are only 
16770        used  by JavaScriptCore and for JavaScriptCore these are already
16771        properly defined in JavaScriptCore/config.h.
16772
16773        No new tests, no new functionality.
16774
16775        * WebCore.pro:
16776
167772010-04-26  Roman Gershman  <romange@google.com>
16778
16779        Reviewed by Adam Barth.
16780
16781        [Chromium] Font size in suggestions popup menu should be correlated with the font size of its text field.
16782        The following manual test checks for desired behavior.
16783
16784        https://bugs.webkit.org/show_bug.cgi?id=37977
16785
16786        * manual-tests/chromium/suggestions-popup-font-change.html: Added.
16787
167882010-04-26  Luiz Agostini  <luiz.agostini@openbossa.org>
16789
16790        Reviewed by Kenneth Rohde Christiansen.
16791
16792        View modes names in CSSValueKeywords.in
16793        https://bugs.webkit.org/show_bug.cgi?id=38125
16794
16795        View mode names has changed in previous patch but CSSValueKeywords.in file was
16796        not updated.
16797
16798        * css/CSSValueKeywords.in:
16799
168002010-04-26  Simon Hausmann  <simon.hausmann@nokia.com>
16801
16802        Reviewed by Kenneth Rohde Christiansen.
16803
16804        [Qt] Fix compilation with RVCT 4
16805        https://bugs.webkit.org/show_bug.cgi?id=37727
16806
16807        Swap extern and declspec to fix visibility of symbol imported from QtGui.
16808
16809        * page/qt/EventHandlerQt.cpp:
16810
168112010-04-26  Ruben Van Boxem  <vanboxem.ruben@gmail.com>
16812
16813        Reviewed by Adam Roben.
16814
16815        Fixes for Win64 compilation under gcc (mingw-w64)
16816
16817        *  WebCore/bridge/npapi.h: for win64 compatibility, mirroring mozilla-central, see Mozilla bug 560298
16818        *  WebCore/platform/Arena.h: uword is used to cast from pointers here. unsigned long is 32-bit on Windows (but 64-bit on mac), and too small to hold a pointer. uintptr_t is 32-bit on 32-bit systems (mac, linux and windows) and 64-bit on all 64-bit systems
16819        *  WebCore/platform/graphics/transforms/TransformationMatrix.h: let mingw-w64/w32 use MSVC codepath
16820        *  WebCore/platform/text/TextStream.cpp: let mingw-w64 use MSVC codepath
16821        *  WebCore/platform/text/TextStream.h: let mingw-w64 use MSVC codepath
16822        *  WebCore/plugins/PluginView.cpp: fix pointer casts on WIN64 and let mingw-w64 use MSVC codepath
16823        *  WebCore/plugins/win/PluginViewWin.cpp: fix pointer casts on WIN64
16824
168252010-04-26  Markus Goetz  <Markus.Goetz@nokia.com>
16826
16827        Reviewed by Simon Hausmann.
16828
16829        [Qt] HTTP pipelining efficiency increase
16830        https://bugs.webkit.org/show_bug.cgi?id=38062
16831
16832        Increase number of network requests that are fed into
16833        QNetworkAccessManager.
16834
16835        * platform/network/qt/ResourceRequestQt.cpp:
16836        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
16837
168382010-04-26  Ilya Tikhonovsky  <loislo@chromium.org>
16839
16840        Reviewed by Yury Semikhatsky.
16841
16842        Web Inspector: undefined shows up on inspector.
16843        https://bugs.webkit.org/show_bug.cgi?id=38120
16844
16845        * inspector/front-end/ScriptsPanel.js:
16846        (WebInspector.ScriptsPanel.prototype.hide):
16847        * inspector/front-end/SourceFrame.js:
16848        (WebInspector.SourceFrame.prototype.set visible):
16849
168502010-04-26  Bruno Schmidt  <bruno.schmidt@gmail.com>
16851
16852        Reviewed by Kenneth Rohde Christiansen.
16853
16854        [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
16855        causes Segmentation Fault
16856        https://bugs.webkit.org/show_bug.cgi?id=34729
16857
16858        If an QVariantMap containing QObjectStar is added to the to QtWebkit
16859        Javascript, it's use causes Segmentation Fault.
16860        It happens because, in the case QMetaType::QVariantMap, the "root"
16861        object that is inside of a PassRefPtr is passed recursively inside a
16862        loop to recover the content of the map, but the PassRefPtr semantics
16863        prohibit its use inside a loop, so the "root" object mus be passed
16864        using the method "PassRefPtr::get" in order to keep the current
16865        reference.
16866
16867        * bridge/qt/qt_runtime.cpp:
16868        (JSC::Bindings::convertValueToQVariant):
16869        (JSC::Bindings::convertQVariantToValue): change to root.get()
16870
168712010-04-26  Pavel Feldman  <pfeldman@chromium.org>
16872
16873        Reviewed by Yury Semikhatsky.
16874
16875        Web Inspector: Render clip in summary bar using "arc", not "quadraticCurveTo".
16876
16877        https://bugs.webkit.org/show_bug.cgi?id=38107
16878
16879        * inspector/front-end/SummaryBar.js:
16880        (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
16881        (WebInspector.SummaryBar.prototype._drawSummaryGraph):
16882
168832010-04-26  Andreas Kling  <andreas.kling@nokia.com>
16884
16885        Reviewed by Tor Arne Vestbø.
16886
16887        [Qt] Fix compilation against Qt 4.7
16888
16889        Some QtMultimedia things have been moved into QtMediaServices
16890        https://bugs.webkit.org/show_bug.cgi?id=38111
16891
16892        * WebCore.pro:
16893        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
16894        (WebCore::MediaPlayerPrivate::supportsType):
16895        (WebCore::MediaPlayerPrivate::totalBytes):
16896
168972010-04-26  Zoltan Herczeg  <zherczeg@webkit.org>
16898
16899        Reviewed by Dirk Schulze.
16900
16901        Call setStrokeStyle in applyStrokeStyleToContext
16902        https://bugs.webkit.org/show_bug.cgi?id=37849
16903
16904        Not all platforms set the stroke style to solid if they
16905        get an empty line dash array. Some just ignore the operation.
16906
16907        * rendering/SVGRenderSupport.cpp:
16908        (WebCore::applyStrokeStyleToContext):
16909
169102010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
16911
16912        Reviewed by Pavel Feldman.
16913
16914        WebInspector: Aggregated stats of time spent in children records should be visible
16915        in the popup panel of parent record. Crash in pushGCEventRecord also was fixed.
16916        https://bugs.webkit.org/show_bug.cgi?id=37820
16917
16918        * English.lproj/localizedStrings.js:
16919        * inspector/InspectorTimelineAgent.cpp:
16920        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
16921        * inspector/front-end/TimelinePanel.js:
16922        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
16923        (WebInspector.TimelinePanel.prototype._createRootRecord):
16924        (WebInspector.TimelinePanel.prototype._showPopover):
16925        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
16926        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
16927        (WebInspector.TimelineRecordGraphRow):
16928        (WebInspector.TimelineRecordGraphRow.prototype.update):
16929        (WebInspector.TimelinePanel.FormattedRecord):
16930        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
16931        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
16932        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
16933        (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
16934        * inspector/front-end/inspector.css:
16935        (.timeline-graph-bar.with-children):
16936        (.timeline-graph-bar.cpu):
16937        (.timeline-aggregated-category):
16938        (.timeline-loading):
16939        (.timeline-scripting):
16940        (.timeline-rendering):
16941        (.popover .timeline-aggregated-category.timeline-loading):
16942        (.timeline-details-title):
16943
169442010-04-25  Kent Tamura  <tkent@chromium.org>
16945
16946        Reviewed by Darin Adler.
16947
16948        WebKit crashes with deeply nested divs
16949        https://bugs.webkit.org/show_bug.cgi?id=18282
16950
16951        The HTML parser caps a tree depth by MAX_DOM_TREE_DEPTH defined in
16952        TreeDepthLimit.h. This is performance-efficient, but does not work for
16953        DOM operations such as Node.appendChild().
16954
16955        Test: fast/parser/element-nesting-cap.html
16956
16957        * dom/Node.h:
16958        * dom/XMLTokenizer.cpp:
16959        (WebCore::XMLTokenizer::pushCurrentNode):
16960        * html/HTMLParser.cpp:
16961
16962        * GNUmakefile.am:
16963        * WebCore.gypi:
16964        * WebCore.pro:
16965        * WebCore.vcproj/WebCore.vcproj:
16966        * WebCore.xcodeproj/project.pbxproj:
16967        * dom/TreeDepthLimit.h:
16968          Added. Define MAX_DOM_TREE_DEPTH. The default value is 5000.
16969        * dom/XMLTokenizer.cpp: Use maxDOMTreeDepth.
16970        (WebCore::XMLTokenizer::pushCurrentNode):
16971        * html/HTMLParser.cpp:
16972          Introduce m_treeDepth, which counts the depth of the tree.
16973          Unlike m_blocksInStack, it contains the number of non-block nodes.
16974        (WebCore::HTMLParser::HTMLParser):
16975        (WebCore::HTMLParser::reset):
16976        (WebCore::HTMLParser::limitDepth):
16977          Renamed from limitBlockDepth. Add check for m_nodeDepth.
16978        (WebCore::HTMLParser::insertNodeAfterLimitDepth):
16979          Renamed from insertNodeAfterLimitBlockDepth.
16980        (WebCore::HTMLParser::parseToken):
16981        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
16982        (WebCore::HTMLParser::pushBlock):
16983        (WebCore::HTMLParser::popOneBlockCommon):
16984        (WebCore::HTMLParser::freeBlock):
16985        * html/HTMLParser.h:
16986
169872010-04-25  Andrey Kosyakov  <caseq@chromium.org>
16988
16989        Reviewed by Adam Barth.
16990
16991        Get context properly when event handler was created on
16992        the main world.
16993        https://bugs.webkit.org/show_bug.cgi?id=37947
16994
16995        Test: http/tests/security/isolatedWorld/dispatchEvent.html
16996
16997        * bindings/v8/WorldContextHandle.cpp:
16998        (WebCore::WorldContextHandle::adjustedContext):
16999
170002010-04-25  yael aharon  <yael.aharon@nokia.com>
17001
17002        Reviewed by Adele Peterson.
17003
17004        Allow styling of HTMLProgressElement.
17005        https://bugs.webkit.org/show_bug.cgi?id=37901
17006
17007        Added a new pseudo element to represent the value portion of the progress element.
17008        Web developers can style this pseudo element separate from the rest of the progress element.
17009
17010        Test: fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html
17011
17012        * css/CSSPrimitiveValueMappings.h:
17013        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
17014        * css/CSSSelector.cpp:
17015        (WebCore::CSSSelector::pseudoId):
17016        (WebCore::nameToPseudoTypeMap):
17017        (WebCore::CSSSelector::extractPseudoType):
17018        * css/CSSSelector.h:
17019        * css/CSSValueKeywords.in:
17020        * platform/ThemeTypes.h:
17021        * rendering/RenderProgress.cpp:
17022        (WebCore::ProgressValueElement::isShadowNode):
17023        (WebCore::ProgressValueElement::shadowParentNode):
17024        (WebCore::ProgressValueElement::ProgressValueElement):
17025        (WebCore::RenderProgress::RenderProgress):
17026        (WebCore::RenderProgress::~RenderProgress):
17027        (WebCore::RenderProgress::layout):
17028        (WebCore::RenderProgress::styleDidChange):
17029        (WebCore::RenderProgress::updateFromElement):
17030        (WebCore::RenderProgress::updateValuePartState):
17031        (WebCore::RenderProgress::createStyleForValuePart):
17032        (WebCore::RenderProgress::updateAnimationState):
17033        * rendering/RenderTheme.cpp:
17034        (WebCore::RenderTheme::isControlStyled):
17035        * rendering/RenderProgress.h:
17036        * rendering/style/RenderStyleConstants.h:
17037
170382010-04-24  Simon Fraser  <simon.fraser@apple.com>
17039
17040        Reviewed by Dan Bernstein.
17041
17042        Don't propagate compositing out of iframes on Mac
17043        https://bugs.webkit.org/show_bug.cgi?id=38072
17044
17045        Propagating compositing out of iframes caused too many regressions on Mac,
17046        so only do it for other platforms that may need to hook compositing layers
17047        together across iframe boundaries.
17048
17049        * rendering/RenderLayerCompositor.cpp:
17050        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame):
17051
170522010-04-24  Anton Muhin  <antonm@chromium.org>
17053
17054        Reviewed by Darin Adler.
17055
17056        Allow to construct HashTraits<WebCore::QualifiedName>::constructDeletedValue
17057
17058        Former implementation attempted to use AtomicString(HashTableDeletedValue)
17059        however those values cannot be used that way: one cannot construct
17060        QualifiedNameImpl out of such AtomicString as we'll try to lookup this string
17061        in the table, for example.
17062        https://bugs.webkit.org/show_bug.cgi?id=37722
17063
17064        * dom/QualifiedName.cpp:
17065        (WebCore::QualifiedName::deref): check that hash table deleted values never derefed
17066        * dom/QualifiedName.h:
17067        (WebCore::QualifiedName::QualifiedName): add a constructor to create hash table deleted values
17068        (WebCore::QualifiedName::isHashTableDeletedValue): add a check if given instance is hash table deleted value
17069        (WTF::):
17070
170712010-04-24  Julien Chaffraix  <jchaffraix@webkit.org>
17072
17073        Reviewed by Alexey Proskuryakov.
17074
17075        protocolHostAndPortEquals host check makes a wrong assumption
17076        https://bugs.webkit.org/show_bug.cgi?id=37777
17077
17078        The host check assumed that both host started at the same position. This is true
17079        if both URL are the same but sometimes one has credential and the other does not.
17080        In this case, the method would compare invalid positions.
17081
17082        Test: http/tests/appcache/credential-url.html
17083
17084        * platform/KURL.cpp:
17085        (WebCore::protocolHostAndPortAreEqual):
17086        * platform/KURLGoogle.cpp:
17087        (WebCore::protocolHostAndPortAreEqual):
17088        Fix the host check to take both URL's credential into account.
17089
170902010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17091
17092        Not reviewed. Fix linkage on several bots (no idea, why it worked in a from-scratch rebuild on Leopard on my machine!) -> include NodeRenderStyle.h
17093        Having to include NodeRenderStyle.h just to pull in the renderStyle() is a crazy concept, but I see what it tries to avoid (including RenderObject.h in Node.h)
17094
17095        * rendering/SVGRenderSupport.cpp:
17096
170972010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17098
17099        Not reviewed. Fix release builds, wrap resourceMode assertion in NDEBUG blocks, use UNUSED_PARAM() otherwhise.
17100
17101        * rendering/RenderSVGResourceClipper.cpp:
17102        (WebCore::RenderSVGResourceClipper::applyResource):
17103        * rendering/RenderSVGResourceFilter.cpp:
17104        (WebCore::RenderSVGResourceFilter::applyResource):
17105        (WebCore::RenderSVGResourceFilter::postApplyResource):
17106        * rendering/RenderSVGResourceMasker.cpp:
17107        (WebCore::RenderSVGResourceMasker::applyResource):
17108
171092010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>
17110
17111        Reviewed by Dirk Schulze.
17112
17113        SVGPaintServer needs to be converted to the new RenderSVGResource* system
17114        https://bugs.webkit.org/show_bug.cgi?id=37986
17115
17116        Huge speedup for SVG painting using paint servers (gradient/patterns). Cache underlying
17117        WebCore::Gradient/Pattern datastructures, do not rebuild them on every painting. This marks
17118        the finish of the SVGResource -> RenderSVGResource transition.
17119
17120        Outline of same key changes:
17121        - RenderSVGResource is an abstract base class now, and the previous class is now named RenderSVGResourceContainer
17122          All resources except RenderSVGResourceSolidColor now inherit from RenderSVGResourceContainer, as they are all
17123          associated with a SVG*Element class. RenderSVGResourceSolidColor inherits from RenderSVGResource, and is not
17124          associated with any SVG*Element class. RenderSVGResourceSolidColor is not a render tree object, despite its name.
17125          The reason for that is consistency with all other painting resources.
17126        - RenderSVGResourceSolidColor does not live in the render tree, and exists only as static object, which is shared
17127          and always used when filling/stroking with solid colors - just like the old SVGPaintServerSolid.
17128        - RenderSVGResourceGradient/RenderSVGResourcePattern now store the underlying WebCore::Gradient/Pattern object
17129          instead of rebuilding it everytime we're asked to paint -> this is the main difference with the old concept, leading
17130          to much faster speed.
17131        - SVGResource has vanished. All resources (clipper/filter/marker/masker/gradient/pattern) now share the same codepaths
17132          to handle updates and client invalidation - which is a huge benefit, and makes the code easier to understand.
17133
17134        * Android.mk: Remove svg/graphics/SVGResource*, svg/graphics/SVGPaintServer.h from build.
17135        * GNUmakefile.am: Ditto.
17136        * WebCore.gypi: Ditto.
17137        * WebCore.pro: Ditto.
17138        * WebCore.vcproj/WebCore.vcproj: Ditto.
17139        * WebCore.xcodeproj/project.pbxproj: Ditto.
17140        * platform/graphics/Gradient.cpp: Add addColorStop() method taking a ColorStop const-reference.
17141        (WebCore::Gradient::addColorStop):
17142        * platform/graphics/Gradient.h: Ditto.
17143        * platform/graphics/TextRun.h: Rename SVGPaintServer to RenderSVGResource
17144        (WebCore::TextRun::TextRun):
17145        (WebCore::TextRun::activePaintingResource): Renamed from activePaintServer.
17146        (WebCore::TextRun::setActivePaintingResource): Renamed from setActivePaintServer.
17147        * platform/graphics/win/GraphicsContextWin.cpp: Remove references to SVGResourceImage, which was removed a long time ago.
17148        * rendering/RenderObject.cpp:
17149        (WebCore::RenderObject::toRenderSVGResourceContainer): Renamed from toRenderSVGResource().
17150        * rendering/RenderObject.h:
17151        (WebCore::RenderObject::isSVGGradientStop): Added.
17152        (WebCore::RenderObject::isSVGResourceContainer): Renamed from isSVGResource().
17153        * rendering/RenderPath.cpp: Utilize RenderSVGResource::fill/strokePaintingResource to request paint servers, instead of SVGPaintServer.
17154        (WebCore::RenderPath::fillContains): Adapt to new concept.
17155        (WebCore::RenderPath::strokeContains): Ditto.
17156        (WebCore::fillAndStrokePath): Ditto.
17157        (WebCore::RenderPath::paint): Ditto.
17158        * rendering/RenderSVGGradientStop.cpp:
17159        (WebCore::RenderSVGGradientStop::styleDidChange): Ditto.
17160        * rendering/RenderSVGGradientStop.h: Fixed indention.
17161        * rendering/RenderSVGResource.cpp: Refactored old SVGPaintServer code to request fill/stroke painting resources, splitted up in several methods to aid readability. 
17162        (WebCore::registerPendingResource):
17163        (WebCore::adjustColorForPseudoRules):
17164        (WebCore::RenderSVGResource::fillPaintingResource):
17165        (WebCore::RenderSVGResource::strokePaintingResource):
17166        (WebCore::RenderSVGResource::sharedSolidPaintingResource):
17167        (WebCore::RenderSVGResource::markForLayoutAndResourceInvalidation):
17168        * rendering/RenderSVGResource.h: Make RenderSVGResource an abstract base class, see above for the reasoning.
17169        (WebCore::RenderSVGResource::RenderSVGResource):
17170        (WebCore::RenderSVGResource::~RenderSVGResource):
17171        (WebCore::RenderSVGResource::postApplyResource):
17172        * rendering/RenderSVGResourceClipper.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17173        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
17174        (WebCore::RenderSVGResourceClipper::invalidateClient):
17175        (WebCore::RenderSVGResourceClipper::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
17176        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
17177        * rendering/RenderSVGResourceClipper.h:
17178        * rendering/RenderSVGResourceContainer.h: Added. Renamed from RenderSVGResource. Now inherits from RenderSVGHiddenContainer and RenderSVGResource.
17179        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
17180        (WebCore::RenderSVGResourceContainer::~RenderSVGResourceContainer):
17181        (WebCore::RenderSVGResourceContainer::idChanged):
17182        (WebCore::RenderSVGResourceContainer::isSVGResourceContainer):
17183        (WebCore::RenderSVGResourceContainer::drawsContents):
17184        (WebCore::RenderSVGResourceContainer::toRenderSVGResourceContainer):
17185        (WebCore::getRenderSVGResourceContainerById):
17186        (WebCore::getRenderSVGResourceById):
17187        * rendering/RenderSVGResourceFilter.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17188        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
17189        (WebCore::RenderSVGResourceFilter::invalidateClient):
17190        (WebCore::RenderSVGResourceFilter::applyResource): Adapt to signature changes (add RenderStyle* and resource mode parameters)
17191        (WebCore::RenderSVGResourceFilter::postApplyResource):
17192        * rendering/RenderSVGResourceFilter.h:
17193        * rendering/RenderSVGResourceGradient.cpp: Moved from SVGPaintServerGradient, cleaned up and refactored.
17194        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
17195        (WebCore::RenderSVGResourceGradient::~RenderSVGResourceGradient):
17196        (WebCore::RenderSVGResourceGradient::invalidateClients):
17197        (WebCore::RenderSVGResourceGradient::invalidateClient):
17198        (WebCore::createMaskAndSwapContextForTextGradient):
17199        (WebCore::clipToTextMask):
17200        (WebCore::RenderSVGResourceGradient::applyResource):
17201        * rendering/RenderSVGResourceGradient.h:
17202        (WebCore::RenderSVGResourceGradient::resourceBoundingBox):
17203        * rendering/RenderSVGResourceLinearGradient.cpp: Moved from SVGPaintServerLinearGradient, cleaned up and refactored.
17204        (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
17205        (WebCore::RenderSVGResourceLinearGradient::~RenderSVGResourceLinearGradient):
17206        (WebCore::RenderSVGResourceLinearGradient::buildGradient):
17207        * rendering/RenderSVGResourceLinearGradient.h:
17208        (WebCore::RenderSVGResourceLinearGradient::renderName):
17209        (WebCore::RenderSVGResourceLinearGradient::resourceType):
17210        * rendering/RenderSVGResourceMarker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17211        (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
17212        (WebCore::RenderSVGResourceMarker::invalidateClient):
17213        * rendering/RenderSVGResourceMarker.h:
17214        (WebCore::RenderSVGResourceMarker::applyResource):
17215        * rendering/RenderSVGResourceMasker.cpp: Inherit from RenderSVGResourceContainer instead of RenderSVGResource.
17216        (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
17217        (WebCore::RenderSVGResourceMasker::invalidateClient):
17218        (WebCore::RenderSVGResourceMasker::applyResource):
17219        * rendering/RenderSVGResourceMasker.h:
17220        (WebCore::MaskerData::MaskerData):
17221        * rendering/RenderSVGResourcePattern.cpp: Moved from SVGPaintServerPattern, cleaned up and refactored.
17222        (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
17223        (WebCore::RenderSVGResourcePattern::~RenderSVGResourcePattern):
17224        (WebCore::RenderSVGResourcePattern::invalidateClients):
17225        (WebCore::RenderSVGResourcePattern::invalidateClient):
17226        (WebCore::RenderSVGResourcePattern::applyResource):
17227        (WebCore::RenderSVGResourcePattern::postApplyResource):
17228        (WebCore::calculatePatternBoundaries):
17229        (WebCore::RenderSVGResourcePattern::calculatePatternBoundariesIncludingOverflow):
17230        (WebCore::RenderSVGResourcePattern::createTileImage):
17231        (WebCore::RenderSVGResourcePattern::buildPattern):
17232        * rendering/RenderSVGResourcePattern.h:
17233        (WebCore::RenderSVGResourcePattern::renderName):
17234        (WebCore::RenderSVGResourcePattern::resourceBoundingBox):
17235        (WebCore::RenderSVGResourcePattern::resourceType):
17236        * rendering/RenderSVGResourceRadialGradient.cpp: Moved from SVGPaintServerRadialGradient, cleaned up and refactored.
17237        (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
17238        (WebCore::RenderSVGResourceRadialGradient::~RenderSVGResourceRadialGradient):
17239        (WebCore::RenderSVGResourceRadialGradient::buildGradient):
17240        * rendering/RenderSVGResourceRadialGradient.h:
17241        (WebCore::RenderSVGResourceRadialGradient::renderName):
17242        (WebCore::RenderSVGResourceRadialGradient::resourceType):
17243        * rendering/RenderSVGResourceSolidColor.cpp: Moved from SVGPaintServerSolid, cleaned up and refactored.
17244        (WebCore::RenderSVGResourceSolidColor::RenderSVGResourceSolidColor):
17245        (WebCore::RenderSVGResourceSolidColor::~RenderSVGResourceSolidColor):
17246        (WebCore::RenderSVGResourceSolidColor::applyResource):
17247        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
17248        * rendering/RenderSVGResourceSolidColor.h:
17249        (WebCore::RenderSVGResourceSolidColor::invalidateClients):
17250        (WebCore::RenderSVGResourceSolidColor::invalidateClient):
17251        (WebCore::RenderSVGResourceSolidColor::resourceBoundingBox):
17252        (WebCore::RenderSVGResourceSolidColor::resourceType):
17253        (WebCore::RenderSVGResourceSolidColor::color):
17254        (WebCore::RenderSVGResourceSolidColor::setColor):
17255        * rendering/RenderSVGText.cpp:
17256        (WebCore::RenderSVGText::paint): Early exit if painting is disabled.
17257        * rendering/RenderTreeAsText.cpp:
17258        (WebCore::write): Add RenderSVGGradientStop dumping.
17259        (WebCore::externalRepresentation): Remove SVGResource dumping.
17260        * rendering/SVGInlineTextBox.cpp: Adapt to SVGPaintServer changes (paint server request).
17261        (WebCore::SVGInlineTextBox::paintCharacters):
17262        (WebCore::SVGInlineTextBox::paintDecoration):
17263        * rendering/SVGInlineTextBox.h: Ditto.
17264        (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
17265        * rendering/SVGRenderSupport.cpp: Ditto.
17266        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17267        (WebCore::SVGRenderBase::finishRenderSVGContent):
17268        (WebCore::invalidatePaintingResource):
17269        (WebCore::deregisterFromResources):
17270        (WebCore::dashArrayFromRenderingStyle): Moved here from SVGPaintServer.
17271        (WebCore::applyStrokeStyleToContext): Ditto.
17272        * rendering/SVGRenderSupport.h:
17273        * rendering/SVGRenderTreeAsText.cpp: Add new gradient/pattern dumping code. Stops are now properly dumped as well!
17274        (WebCore::operator<<):
17275        (WebCore::writeSVGPaintingResource):
17276        (WebCore::writeStyle):
17277        (WebCore::boundingBoxModeString):
17278        (WebCore::writeCommonGradientProperties):
17279        (WebCore::writeSVGResourceContainer):
17280        (WebCore::writeSVGGradientStop):
17281        * rendering/SVGRenderTreeAsText.h:
17282        * rendering/SVGRootInlineBox.cpp: Adapt to SVGPaintServer changes (paint server request).
17283        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
17284        (WebCore::SVGRootInlineBoxPaintWalker::~SVGRootInlineBoxPaintWalker):
17285        (WebCore::SVGRootInlineBoxPaintWalker::teardownFillPaintServer):
17286        (WebCore::SVGRootInlineBoxPaintWalker::teardownStrokePaintServer):
17287        (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
17288        (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
17289        (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
17290        (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
17291        (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
17292        (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
17293        (WebCore::SVGRootInlineBoxPaintWalker::activePaintingResource):
17294        (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
17295        * svg/GradientAttributes.h: Remove SVGGradientStop, use Gradient::ColorStop vector. Cleanup.
17296        (WebCore::GradientAttributes::stops):
17297        (WebCore::GradientAttributes::setStops):
17298        * svg/LinearGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
17299        * svg/PatternAttributes.h: Add missing includes and class forwards.
17300        * svg/RadialGradientAttributes.h: Move ENABLE(SVG) guard to correct location.
17301        * svg/SVGClipPathElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17302        (WebCore::SVGClipPathElement::svgAttributeChanged):
17303        (WebCore::SVGClipPathElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17304        * svg/SVGClipPathElement.h:
17305        * svg/SVGDocumentExtensions.cpp: Change HashMaps to hash AtomicStrings instead of Strings. Rename RenderSVGResource to RenderSVGResourceContainer.
17306        (WebCore::SVGDocumentExtensions::addResource):
17307        (WebCore::SVGDocumentExtensions::removeResource):
17308        (WebCore::SVGDocumentExtensions::resourceById):
17309        (WebCore::SVGDocumentExtensions::addPendingResource):
17310        * svg/SVGDocumentExtensions.h:
17311        * svg/SVGElement.cpp:
17312        (WebCore::SVGElement::insertedIntoDocument): Remove reference to SVGResource::invalidateClients(), handled differently now.
17313        (WebCore::SVGElement::updateAnimatedSVGAttribute): Change assertion, that is incorrect now.
17314        * svg/SVGElement.h: Make updateAnimatedSVGAttribute() public.
17315        * svg/SVGFont.cpp: Adapt to SVGPaintServer changes (paint server request).
17316        (WebCore::Font::drawTextUsingSVGFont):
17317        * svg/SVGGElement.cpp: If style()->display() is NONE, create a RenderSVGHiddenContainer, removing hacks in SVGStopElement for pservers-grad-19-b.svg (yes, SVG is crazy.)
17318        (WebCore::SVGGElement::createRenderer):
17319        * svg/SVGGElement.h: Remove childrenChanged() method which _always_ called renderer->setNeedsLayout(true), which is completly wrong and unnecessary.
17320        (WebCore::SVGGElement::rendererIsNeeded): Always return true.
17321        * svg/SVGGradientElement.cpp: Adapt to new RenderSVGResourceGradient code.
17322        (WebCore::SVGGradientElement::svgAttributeChanged):
17323        (WebCore::SVGGradientElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17324        (WebCore::SVGGradientElement::buildStops):
17325        * svg/SVGGradientElement.h:
17326        * svg/SVGLinearGradientElement.cpp: Adapt to new RenderSVGResourceLinearGradient code.
17327        (WebCore::SVGLinearGradientElement::svgAttributeChanged):
17328        (WebCore::SVGLinearGradientElement::createRenderer):
17329        (WebCore::SVGLinearGradientElement::collectGradientProperties):
17330        (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
17331        * svg/SVGLinearGradientElement.h:
17332        * svg/SVGMarkerElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17333        (WebCore::SVGMarkerElement::svgAttributeChanged):
17334        (WebCore::SVGMarkerElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17335        (WebCore::SVGMarkerElement::setOrientToAuto):
17336        (WebCore::SVGMarkerElement::setOrientToAngle):
17337        * svg/SVGMaskElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17338        (WebCore::SVGMaskElement::svgAttributeChanged):
17339        (WebCore::SVGMaskElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17340        * svg/SVGPatternElement.cpp: Rename invalidateCanvasResources() to invalidateResourceClients().
17341        (WebCore::SVGPatternElement::svgAttributeChanged):
17342        (WebCore::SVGPatternElement::childrenChanged): Only call invalidateResourceClients() when !changedByParser is set.
17343        (WebCore::SVGPatternElement::createRenderer):
17344        * svg/SVGPatternElement.h:
17345        * svg/SVGPolyElement.h: Remove unneded rendererIsNeeded() override.
17346        * svg/SVGRadialGradientElement.cpp: Adapt to new RenderSVGResourceRadialGradient code.
17347        (WebCore::SVGRadialGradientElement::svgAttributeChanged):
17348        (WebCore::SVGRadialGradientElement::createRenderer):
17349        (WebCore::SVGRadialGradientElement::collectGradientProperties):
17350        (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
17351        * svg/SVGRadialGradientElement.h:
17352        * svg/SVGStopElement.cpp: Clean up code, moved stop color calculation from SVGGradientElement to here, where it belongs.
17353        (WebCore::SVGStopElement::parseMappedAttribute):
17354        (WebCore::SVGStopElement::stopColorIncludingOpacity):
17355        * svg/SVGStopElement.h:
17356        * svg/SVGStyledElement.cpp:
17357        (WebCore::SVGStyledElement::~SVGStyledElement):
17358        (WebCore::SVGStyledElement::svgAttributeChanged): Only invalidateResourcesInAncestorChain()/deregisterFromResources() when we're not parsing.
17359        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): Early exit if we find a parent resources, there is no resource nesting.
17360        (WebCore::SVGStyledElement::invalidateResourceClients): Renamed from invalidateCanvasResources()
17361        (WebCore::SVGStyledElement::childrenChanged): Only invalidate SVGElementInstances when !changedByParser is set.
17362        * svg/SVGStyledElement.h: Remove canvasResource() logic, remove detach() method.
17363        * svg/SVGTextPathElement.h:
17364        * svg/graphics/SVGPaintServer.h: Removed.
17365        * svg/graphics/SVGResource.cpp: Removed.
17366        * svg/graphics/SVGResource.h: Removed.
17367
173682010-04-23  Zhenyao Mo  <zmo@google.com>
17369
17370        Reviewed by Darin Fisher.
17371
17372        Add isGLES2Compliant to GraphicsContext3D: make the method const.
17373        https://bugs.webkit.org/show_bug.cgi?id=37872
17374
17375        * platform/graphics/GraphicsContext3D.h: Make isGLES2Compliant() const.
17376        * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
17377        (WebCore::GraphicsContext3D::isGLES2Compliant):
17378
173792010-04-23  Qi Zhang  <qi.2.zhang@nokia.com>
17380
17381        Reviewed by Laszlo Gombos.
17382
17383        [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
17384        https://bugs.webkit.org/show_bug.cgi?id=37276
17385
17386        QPainterPath::contains doesn't count the point on the bound.
17387
17388        * platform/graphics/qt/PathQt.cpp:
17389        (WebCore::isPointOnPathBorder):
17390        (WebCore::Path::contains):
17391
173922010-04-23  Sam Weinig  <sam@webkit.org>
17393
17394        Reviewed by David Levin.
17395
17396        Fix for https://bugs.webkit.org/show_bug.cgi?id=38060
17397        Split up Threading.h
17398
17399        Add necessary forwarding headers.
17400
17401        * ForwardingHeaders/wtf/Atomics.h: Added.
17402        * ForwardingHeaders/wtf/ThreadSafeShared.h: Added.
17403        * ForwardingHeaders/wtf/ThreadingPrimitives.h: Added.
17404
174052010-04-23  Rafael Weinstein  <rafaelw@grafaelw.sfo.corp.google.com>
17406
17407        Reviewed by Darin Fisher.
17408
17409        This patch adds a vector of additionalFeatures to WindowFeatures
17410        and populates it with any feature strings that evaluate to "yes"
17411        and aren't directly observed in WindowFeatures. This allows
17412        clients to capture experimental window features.
17413
17414        https://bugs.webkit.org/show_bug.cgi?id=38013
17415
17416        * page/WindowFeatures.cpp:
17417        (WebCore::WindowFeatures::setWindowFeature):
17418        * page/WindowFeatures.h:
17419
174202010-04-23  Dan Bernstein  <mitz@apple.com>
17421
17422        Reviewed by Simon Fraser.
17423
17424        <rdar://problem/7898436> :after content is duplicated
17425
17426        Test: fast/css-generated-content/after-duplicated-after-split.html
17427
17428        * rendering/RenderInline.cpp:
17429        (WebCore::RenderInline::splitInlines): Pass the correct owner of the child list.
17430
174312010-04-23  Adele Peterson  <adele@apple.com>
17432
17433        Fixing the Tiger build for real.
17434
17435        * platform/graphics/mac/SimpleFontDataMac.mm:
17436
174372010-04-23  Adele Peterson  <adele@apple.com>
17438
17439        Fixing the Tiger build.
17440
17441        * platform/graphics/mac/SimpleFontDataMac.mm:
17442        (WebCore::SimpleFontData::platformBoundsForGlyph):
17443
174442010-04-23  Jian Li  <jianli@chromium.org>
17445
17446        Reviewed by Dmitry Titov.
17447
17448        Add FileError for File API.
17449        https://bugs.webkit.org/show_bug.cgi?id=37840
17450
17451        The test will be added when implementing FileReader and FilerWriter.
17452
17453        * Android.derived.jscbindings.mk:
17454        * Android.derived.v8bindings.mk:
17455        * DerivedSources.cpp:
17456        * DerivedSources.make:
17457        * GNUmakefile.am:
17458        * WebCore.gypi:
17459        * WebCore.pri:
17460        * WebCore.pro:
17461        * WebCore.vcproj/WebCore.vcproj:
17462        * WebCore.xcodeproj/project.pbxproj:
17463        * dom/ExceptionCode.h:
17464        (WebCore::):
17465        * html/FileError.h: Added.
17466        * html/FileError.idl: Added.
17467        * page/DOMWindow.idl:
17468
174692010-04-23  Jian Li  <jianli@chromium.org>
17470
17471        Reviewed by Adam Barth.
17472
17473        Improve code generator scripts to handle OR ('|') condition in the
17474        extended attributes.
17475        https://bugs.webkit.org/show_bug.cgi?id=37998
17476
17477        * bindings/scripts/CodeGeneratorJS.pm:
17478        * bindings/scripts/CodeGeneratorObjC.pm:
17479        * bindings/scripts/CodeGeneratorV8.pm:
17480        * bindings/scripts/IDLStructure.pm:
17481
174822010-04-23  Adele Peterson  <adele@apple.com>
17483
17484        Reviewed by Dan Bernstein.
17485
17486        Fix for <rdar://problem/7855777> REGRESSION: Memory usage increase caused by storing glyph bounds in GlyphMetricsMap
17487        https://bugs.webkit.org/show_bug.cgi?id=37936
17488
17489        This change breaks the GlyphMetricsMap into two maps - one for width and one for bounds, so that we don't store
17490        a FloatRect for the glyph bounds unless we need to.
17491
17492        Covered by existing tests.  This should not cause any change in functionality.
17493
17494        Updated for removal of GlyphMetricsMap.cpp
17495        * Android.mk:
17496        * GNUmakefile.am:
17497        * WebCore.gypi:
17498        * WebCore.vcproj/WebCore.vcproj:
17499        * WebCore.xcodeproj/project.pbxproj:
17500
17501        Made GlyphMetricsMap a template, so it can be used for separate width and bounds maps.
17502        * platform/graphics/GlyphMetricsMap.cpp: Removed.
17503        * platform/graphics/GlyphMetricsMap.h:
17504        (WebCore::GlyphMetricsMap::metricsForGlyph):
17505        (WebCore::GlyphMetricsMap::setMetricsForGlyph):
17506        (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
17507        (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
17508        (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
17509        (WebCore::::unknownMetrics):
17510        (WebCore::::locatePageSlowCase):
17511
17512        * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
17513        Call boundsForGlyph instead of metricsForGlyph.
17514        * platform/graphics/win/UniscribeController.cpp: (WebCore::UniscribeController::shapeAndPlaceItem):
17515        ditto.
17516        * platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::platformGlyphInit):
17517        Call setMetricsForGlyph for both glyph maps.
17518
17519        Break getters and setters for metricsForGlyph into widthForGlyph and boundsForGlyph, maintaining present behavior.
17520        * platform/graphics/SimpleFontData.h:
17521        (WebCore::):
17522        (WebCore::SimpleFontData::boundsForGlyph):
17523        (WebCore::SimpleFontData::widthForGlyph):
17524        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
17525        (WebCore::SimpleFontData::platformBoundsForGlyph):
17526        (WebCore::SimpleFontData::platformWidthForGlyph):
17527        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
17528        (WebCore::SimpleFontData::platformBoundsForGlyph):
17529        (WebCore::SimpleFontData::platformWidthForGlyph):
17530        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
17531        (WebCore::SimpleFontData::platformBoundsForGlyph):
17532        (WebCore::SimpleFontData::platformWidthForGlyph):
17533        * platform/graphics/gtk/SimpleFontDataPango.cpp:
17534        (WebCore::SimpleFontData::platformBoundsForGlyph):
17535        (WebCore::SimpleFontData::platformWidthForGlyph):
17536        * platform/graphics/mac/SimpleFontDataMac.mm:
17537        (WebCore::SimpleFontData::platformBoundsForGlyph):
17538        (WebCore::SimpleFontData::platformWidthForGlyph):
17539        * platform/graphics/win/SimpleFontDataCGWin.cpp:
17540        (WebCore::SimpleFontData::platformBoundsForGlyph):
17541        (WebCore::SimpleFontData::platformWidthForGlyph):
17542        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
17543        (WebCore::SimpleFontData::platformBoundsForGlyph):
17544        * platform/graphics/win/SimpleFontDataWin.cpp:
17545        (WebCore::SimpleFontData::boundsForGDIGlyph):
17546        (WebCore::SimpleFontData::widthForGDIGlyph):
17547        * platform/graphics/wince/SimpleFontDataWince.cpp:
17548        (WebCore::SimpleFontData::platformBoundsForGlyph):
17549        * platform/graphics/wx/SimpleFontDataWx.cpp:
17550        (WebCore::SimpleFontData::platformBoundsForGlyph):
17551        (WebCore::SimpleFontData::platformWidthForGlyph):
17552
175532010-04-23  Xiaomei Ji  <xji@chromium.org>
17554
17555        Reviewed by Dan Bernstein and Darin Adler
17556
17557        Fix issue "caret does not paint after type in characters in right
17558        aligned div or after delete all characters in RTL div or 
17559        0px right padding RTL textarea"
17560        https://bugs.webkit.org/show_bug.cgi?id=25319
17561
17562        Test: editing/inserting/caret-position.html
17563
17564        * rendering/RenderText.cpp:
17565        (WebCore::RenderText::localCaretRect):
17566
175672010-04-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
17568
17569        Reviewed by Kenneth Rohde Christiansen.
17570
17571        [Qt] [Performance] GraphicsLayer: constructing the layers takes too long
17572        https://bugs.webkit.org/show_bug.cgi?id=36365
17573
17574        The issue came from using QGraphicsView's cache as is. The problem is that
17575        several code-paths require re-rendering of the item, but not re-rendering
17576        of the web content into the cache.
17577
17578        The way to solve it is by having GraphicsLayerQt manage the cache directly
17579        via QPixmapCache, instead of using QGraphicsItem cache modes.
17580
17581        FPS measurement shows significant improvement (20FPS before, 40FPS after)
17582        on several use-cases, including blog-files/leaves on a desktop environment.
17583
17584        * platform/graphics/qt/GraphicsLayerQt.cpp:
17585        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
17586        (WebCore::GraphicsLayerQtImpl::recache):
17587        (WebCore::GraphicsLayerQtImpl::paint):
17588        (WebCore::GraphicsLayerQtImpl::flushChanges):
17589
175902010-04-23  James Robinson  <jamesr@chromium.org>
17591
17592        Reviewed by Dimitri Glazkov.
17593
17594        Avoid marking symbols as dllexport in chromium win builds
17595        https://bugs.webkit.org/show_bug.cgi?id=38058
17596
17597        No new tests.
17598
17599        * config.h:
17600
176012010-04-23  MORITA Hajime  <morrita@google.com>
17602
17603        Reviewed by Nikolas Zimmermann.
17604
17605        https://bugs.webkit.org/show_bug.cgi?id=37187
17606        SVG <use href="foo"> is interpreted as <use href="#foo">
17607
17608        getTarget() did return url parameter as is if doesn't have
17609        fragment identifier. So fixed to return empty string in such case
17610        because we need to distinguish "yyy.html" from "xxx.svg#yyy.html".
17611        
17612        Test: svg/custom/broken-internal-references.svg
17613
17614        * svg/SVGElement.cpp:
17615        (WebCore::SVGElement::insertedIntoDocument):
17616        * svg/SVGURIReference.cpp:
17617        (WebCore::SVGURIReference::getTarget):
17618
176192010-04-23  Simon Fraser  <simon.fraser@apple.com>
17620
17621        Reviewed by Dan Bernstein.
17622
17623        ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
17624        https://bugs.webkit.org/show_bug.cgi?id=38066
17625        
17626        When a layer goes into compositing mode because it has a negative z-index child that is going
17627        into compositing mode, then set willBeComposited to true. Also add another assertion to catch
17628        any other cases where the state of willBeComposited is mismanaged.
17629
17630        Test: compositing/composited-negative-zindex-child.html
17631
17632        * rendering/RenderLayerCompositor.cpp:
17633        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
17634
176352010-04-23  Simon Fraser  <simon.fraser@apple.com>
17636
17637        Reviewed by Dan Bernstein.
17638
17639        When webkitAnimationEnd event fires, on-screen rendering should show the last frame of animation
17640        https://bugs.webkit.org/show_bug.cgi?id=37955
17641
17642        After r37484, animation and transition end events were fired on a timer, after the animation/transition
17643        ended. This opened up one event loop cycle in which the non-animating state of the element was visible
17644        before the event fired, resulting in flashes in content that reset style from the event handler.
17645        
17646        Fix by firing these events in the same event cycle as the animation end, once all animations
17647        have been updated. This also required moving the place that start animations are fixed until
17648        a later state in the state machine, so that animations have their start time set at the point
17649        the event is fired (to avoid an assertion when using the freeze API in DRT).
17650        
17651        Not testable, since the flash is very transitory and cannot be captured in a pixel test.
17652
17653        * page/animation/AnimationBase.cpp:
17654        (WebCore::AnimationBase::updateStateMachine): Move the firing of 'start' events into the state
17655        where the start time is known.
17656        * page/animation/AnimationControllerPrivate.h:
17657        * page/animation/AnimationController.cpp:
17658        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): Call the new fireEventsAndUpdateStyle()
17659        method.
17660        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): New method to share code that used to be in
17661        updateStyleIfNeededDispatcherFired().
17662        (WebCore::AnimationControllerPrivate::animationTimerFired): Call fireEventsAndUpdateStyle() once we've
17663        processed all animations.
17664
176652010-04-23  Simon Fraser  <simon.fraser@apple.com>
17666
17667        Reviewed by Dan Bernstein.
17668
17669        CompositeAnimation::updateKeyframeAnimations() can make a KeyframeAnimation for animation "none"
17670        https://bugs.webkit.org/show_bug.cgi?id=38017
17671
17672        Check to see if the animation name is "none", and don't fire off a keyframe animation in
17673        that case.
17674
17675        * page/animation/CompositeAnimation.cpp:
17676        (WebCore::CompositeAnimation::updateKeyframeAnimations):
17677
176782010-04-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17679
17680        Reviewed by Kenneth Rohde Christiansen.
17681
17682        [Qt] Disable Netscape plugin support for minimal configuration
17683        https://bugs.webkit.org/show_bug.cgi?id=38026
17684
17685        No new tests, as there is no new functionality.
17686
17687        * WebCore.pri:
17688
176892010-04-23  Shinichiro Hamaji  <hamaji@chromium.org>
17690
17691        Reviewed by Darin Adler.
17692
17693        Need borderAndPadding(Width|Height)
17694        https://bugs.webkit.org/show_bug.cgi?id=38046
17695
17696        Refactoring only, so no new tests.
17697
17698        * rendering/InlineBox.cpp:
17699        (WebCore::InlineBox::height):
17700        * rendering/RenderApplet.cpp:
17701        (WebCore::RenderApplet::createWidgetIfNecessary):
17702        * rendering/RenderBlock.cpp:
17703        (WebCore::RenderBlock::isSelfCollapsingBlock):
17704        (WebCore::RenderBlock::calcPrefWidths):
17705        * rendering/RenderBox.cpp:
17706        (WebCore::RenderBox::calcBorderBoxWidth):
17707        (WebCore::RenderBox::calcBorderBoxHeight):
17708        (WebCore::RenderBox::calcContentBoxWidth):
17709        (WebCore::RenderBox::calcContentBoxHeight):
17710        (WebCore::RenderBox::calcWidth):
17711        (WebCore::RenderBox::calcHeight):
17712        (WebCore::RenderBox::calcPercentageHeight):
17713        (WebCore::RenderBox::calcReplacedHeightUsing):
17714        (WebCore::RenderBox::availableHeightUsing):
17715        (WebCore::RenderBox::calcAbsoluteHorizontal):
17716        (WebCore::RenderBox::calcAbsoluteVertical):
17717        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
17718        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
17719        (WebCore::RenderBox::positionForPoint):
17720        * rendering/RenderBoxModelObject.h:
17721        (WebCore::RenderBoxModelObject::borderAndPaddingHeight):
17722        (WebCore::RenderBoxModelObject::borderAndPaddingWidth):
17723        * rendering/RenderDataGrid.cpp:
17724        (WebCore::RenderDataGrid::calcPrefWidths):
17725        * rendering/RenderFieldset.cpp:
17726        (WebCore::RenderFieldset::calcPrefWidths):
17727        * rendering/RenderFileUploadControl.cpp:
17728        (WebCore::RenderFileUploadControl::calcPrefWidths):
17729        * rendering/RenderFlexibleBox.cpp:
17730        (WebCore::RenderFlexibleBox::calcPrefWidths):
17731        (WebCore::RenderFlexibleBox::allowedChildFlex):
17732        * rendering/RenderImage.cpp:
17733        (WebCore::RenderImage::calcPrefWidths):
17734        * rendering/RenderLayer.cpp:
17735        (WebCore::RenderLayer::resize):
17736        * rendering/RenderListBox.cpp:
17737        (WebCore::RenderListBox::calcPrefWidths):
17738        (WebCore::RenderListBox::calcHeight):
17739        * rendering/RenderMenuList.cpp:
17740        (WebCore::RenderMenuList::calcPrefWidths):
17741        * rendering/RenderReplaced.cpp:
17742        (WebCore::RenderReplaced::calcPrefWidths):
17743        * rendering/RenderSVGRoot.cpp:
17744        (WebCore::RenderSVGRoot::calcPrefWidths):
17745        * rendering/RenderSlider.cpp:
17746        (WebCore::RenderSlider::calcPrefWidths):
17747        (WebCore::RenderSlider::layout):
17748        * rendering/RenderTableCell.cpp:
17749        (WebCore::RenderTableCell::styleOrColWidth):
17750        * rendering/RenderTextControl.cpp:
17751        (WebCore::RenderTextControl::textBlockHeight):
17752        (WebCore::RenderTextControl::textBlockWidth):
17753        (WebCore::RenderTextControl::calcHeight):
17754        (WebCore::RenderTextControl::calcPrefWidths):
17755        * rendering/RenderTextControlSingleLine.cpp:
17756        (WebCore::RenderTextControlSingleLine::layout):
17757        * rendering/RenderWidget.cpp:
17758        (WebCore::RenderWidget::updateWidgetPosition):
17759
177602010-04-23  David Kilzer  <ddkilzer@apple.com>
17761
17762        Size mismatch between format string and argument in dumpTextEncodingNameMap()
17763
17764        Reviewed by Darin Adler.
17765
17766        See Bug 38030 and r58157.
17767
17768        * platform/text/TextEncodingRegistry.cpp:
17769        (WebCore::dumpTextEncodingNameMap): Assigned
17770        textEncodingNameMap->size() to an unsigned variable before using
17771        it in the fprintf() statement.
17772
177732010-04-23  David Kilzer  <ddkilzer@apple.com>
17774
17775        BUILD FIX: Attempt to fix Windows build after Bug 36187 landed in r58168
17776
17777        * DerivedSources.cpp: Changed include of JSMedia.cpp to
17778        JSStyleMedia.cpp.
17779
177802010-04-23  David Kilzer  <ddkilzer@apple.com>
17781
17782        BUILD FIX: Fix Mac build after Bug 36187 landed in r58168
17783
17784        * WebCore.xcodeproj/project.pbxproj: Renamed DOMMedia.h,
17785        DOMMedia.mm, DOMMediaInternal.h to DOMStyleMedia.h,
17786        DOMStyleMedia.mm, DOMStyleMediaInternal.h.  
17787
177882010-04-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17789
17790        Unreviewed build fix.
17791
17792        Change Media to StyleMedia
17793
17794        * DerivedSources.make:
17795
177962010-04-23  Xan Lopez  <xlopez@igalia.com>
17797
17798        Try to fix the GTK+ bots.
17799
17800        * GNUmakefile.am:
17801
178022010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17803
17804        Reviewed by Laszlo Gombos.
17805
17806        Rename window.media to window.styleMedia
17807        https://bugs.webkit.org/show_bug.cgi?id=36187
17808
17809        Rename the interface Media to StyleMedia as required by the
17810        new CSSOM View spec.
17811
17812        * Android.derived.jscbindings.mk:
17813        * Android.derived.v8bindings.mk:
17814        * GNUmakefile.am:
17815        * WebCore.gypi:
17816        * WebCore.pri:
17817        * WebCore.pro:
17818        * WebCore.vcproj/WebCore.vcproj:
17819        * WebCore.xcodeproj/project.pbxproj:
17820        * css/Media.cpp: Removed.
17821        * css/Media.h: Removed.
17822        * css/Media.idl: Removed.
17823        * css/StyleMedia.cpp: Added.
17824        (WebCore::StyleMedia::StyleMedia):
17825        (WebCore::StyleMedia::type):
17826        (WebCore::StyleMedia::matchMedium):
17827        * css/StyleMedia.h: Added.
17828        (WebCore::StyleMedia::create):
17829        (WebCore::StyleMedia::disconnectFrame):
17830        * css/StyleMedia.idl: Added.
17831        * page/DOMWindow.cpp:
17832        (WebCore::DOMWindow::styleMedia):
17833        * page/DOMWindow.h:
17834        (WebCore::DOMWindow::optionalMedia):
17835        * page/DOMWindow.idl:
17836
178372010-04-23  Yury Semikhatsky  <yurys@chromium.org>
17838
17839        Reviewed by Pavel Feldman.
17840
17841        Web Inspector: provide JSC implementation for scopeType method on
17842        call frame and use same jsvascript code for JSC and v8 when collecting
17843        scope chain data.
17844
17845        https://bugs.webkit.org/show_bug.cgi?id=37663
17846
17847        * bindings/js/JSInjectedScriptHostCustom.cpp:
17848        (WebCore::JSInjectedScriptHost::currentCallFrame):
17849        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
17850        (WebCore::JSJavaScriptCallFrame::scopeType):
17851        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
17852        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
17853        * inspector/InjectedScriptHost.idl:
17854        * inspector/front-end/InjectedScript.js:
17855        (injectedScriptConstructor.):
17856
178572010-04-23  Alexander Pavlov  <apavlov@chromium.org>
17858
17859        Reviewed by Pavel Feldman.
17860
17861        Web Inspector: Audits (Image Dimensions): full image URLs are prefixed with the hosting page name
17862        https://bugs.webkit.org/show_bug.cgi?id=37988
17863
17864        * inspector/front-end/AuditRules.js:
17865        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
17866
178672010-04-23  Ilya Tikhonovsky  <loislo@chromium.org>
17868
17869        Reviewed by Yury Semikhatsky.
17870
17871        WebInspector: Flaky Inspector tests.
17872        https://bugs.webkit.org/show_bug.cgi?id=36217
17873
17874        * inspector/InspectorController.cpp:
17875        (WebCore::InspectorController::didCommitLoad):
17876
178772010-04-23  Yaar Schnitman  <yaar@chromium.org>
17878
17879        Reviewed by Adam Barth.
17880
17881        Auto-generate WebGLRenderingContext overloads in V8
17882        https://bugs.webkit.org/show_bug.cgi?id=37818
17883
17884        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
17885        * html/canvas/WebGLRenderingContext.cpp: Added missing overloads for the following:.
17886        (WebCore::WebGLRenderingContext::texImage2D)
17887        (WebCore::WebGLRenderingContext::texSubImage2D)
17888        * html/canvas/WebGLRenderingContext.h: Added missing overloads.
17889        * html/canvas/WebGLRenderingContext.idl: IDL definition of overloads.
17890
178912010-04-23  Jeff Schiller  <codedread@gmail.com>
17892
17893        Reviewed by Nikolas Zimmermann.
17894
17895        Display tooltips when hovering over SVG elements, Bug 16854
17896        https://bugs.webkit.org/show_bug.cgi?id=16854
17897
17898        Manual test added for verifying tooltips.
17899
17900        * manual-tests/svg-tooltip.svg: Added.
17901        * svg/SVGAElement.cpp:
17902        (WebCore::SVGAElement::title): xlink:title takes precedence, otherwise SVGStyledElement::title() is used
17903        * svg/SVGStyledElement.cpp:
17904        (WebCore::SVGStyledElement::title): checks for a shadow parent and uses that title, otherwise uses the content's title
17905        * svg/SVGStyledElement.h: add title() method declaration
17906
179072010-04-23  David Kilzer  <ddkilzer@apple.com>
17908
17909        <http://webkit.org/b/38032> No need to content sniff 304 responses
17910        <rdar://problem/7891726>
17911
17912        Reviewed by Brady Eidson.
17913
17914        * platform/network/mac/ResourceHandleMac.mm:
17915        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
17916        No need to adjust the MIME type on 304 responses since they're
17917        only used to determine if the resource needs to be refetched.
17918
179192010-04-23  David Kilzer  <ddkilzer@apple.com>
17920
17921        <http://webkit.org/b/38030> Add WebCore::dumpTextEncodingNameMap() to dump text encoding map on debug builds
17922
17923        Reviewed by Alexey Proskuryakov.
17924
17925        * platform/text/TextEncodingRegistry.cpp:
17926        (WebCore::dumpTextEncodingNameMap): Added.
17927        * platform/text/TextEncodingRegistry.h:
17928        (WebCore::dumpTextEncodingNameMap): Added declaration.
17929
179302010-04-22  Tony Chang  <tony@chromium.org>
17931
17932        Reviewed by Dan Bernstein.
17933
17934        Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
17935        https://bugs.webkit.org/show_bug.cgi?id=37950
17936
17937        Test: editing/text-iterator/rtl-selection-crash.html
17938
17939        * editing/TextIterator.cpp:
17940        (WebCore::TextIterator::handleTextNode):
17941
179422010-04-22  Maciej Stachowiak  <mjs@apple.com>
17943
17944        Reviewed by Dan Bernstein and Beth Dakin.
17945
17946        Links around blocks (e.g. divs) results in too many VoiceOver call outs
17947        https://bugs.webkit.org/show_bug.cgi?id=37079
17948        <rdar://problem/7234118>
17949
17950        The basic change is to modify the AccessibilityRenderObject tree
17951        traversal methods to account for inline continuations in the
17952        render tree and make the accessibility tree look as if
17953        continuations didn't exist - the same as if CSS blocks could just
17954        sit in CSS inlines. This is slightly tricky code but creates a
17955        much saner accessibility tree.
17956        
17957        Tests: accessibility/image-link-inline-cont.html
17958               accessibility/image-link.html
17959               accessibility/inline-continuations.html
17960
17961        * accessibility/AccessibilityRenderObject.cpp:
17962        (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations.
17963        (WebCore::firstChildInContinuation): ditto
17964        (WebCore::firstChildConsideringContinuation): ditto
17965        (WebCore::lastChildConsideringContinuation): ditto
17966        (WebCore::startOfContinuations): ditto
17967        (WebCore::endOfContinuations): ditto
17968        (WebCore::childBeforeConsideringContinuations): ditto
17969        (WebCore::firstChildIsInlineContinuation): ditto
17970        (WebCore::lastChildHasContinuation): ditto
17971        (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations.
17972        (WebCore::AccessibilityRenderObject::lastChild): ditto
17973        (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations
17974        and their anonymous block parents.
17975        (WebCore::AccessibilityRenderObject::nextSibling): ditto
17976        (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations.
17977        (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations.
17978        * rendering/RenderInline.h: Make RenderInline::inlineContinuation public.
17979
179802010-04-22  Shinichiro Hamaji  <hamaji@chromium.org>
17981
17982        Reviewed by Darin Adler.
17983
17984        REGRESSION: TextIterator may use freed memory
17985        https://bugs.webkit.org/show_bug.cgi?id=37973
17986
17987        Added TextIterator::m_text to hold the returned String.
17988
17989        No new tests because there are no behavior change, but
17990        copy-backslash-with-euc.html on chromium-win should test this.
17991
17992        * editing/TextIterator.cpp:
17993        (WebCore::TextIterator::emitText):
17994        * editing/TextIterator.h:
17995
179962010-04-22  Michael Forney  <mforney@mforney.org>
17997
17998        Reviewed by Adam Barth.
17999
18000        https://bugs.webkit.org/show_bug.cgi?id=37761
18001
18002        Only include JSDatabase.h and JSDatabaseCallback.h when database is
18003        enabled. This partially fixes building with --disable-database.
18004
18005        * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
18006        database-related headers.
18007
180082010-04-22  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
18009
18010        Reviewed by Darin Adler.
18011
18012        In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
18013        some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
18014        this by changing shouldUseInputMethod to use internal methods to 
18015        check that the field is a text field that isn't a password field. 
18016
18017        No new tests.
18018
18019        Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
18020
18021        * html/HTMLInputElement.cpp:
18022        (WebCore::HTMLInputElement::shouldUseInputMethod):
18023
180242010-04-22  Yaar Schnitman  <yaar@chromium.org>
18025
18026        Reviewed by Adam Barth.
18027
18028        Integrate v8 testing utility with webkit tests
18029        https://bugs.webkit.org/show_bug.cgi?id=37731
18030
18031        * bindings/v8/test/run_tests.py: Removed.
18032
180332010-04-22  Zhenyao Mo  <zmo@google.com>
18034
18035        Reviewed by Darin Fisher.
18036
18037        Add isGLES2Compliant to GraphicsContext3D
18038        https://bugs.webkit.org/show_bug.cgi?id=37872
18039
18040        * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
18041        (WebCore::WebGLRenderingContext::isGLES2Compliant):
18042        * html/canvas/WebGLRenderingContext.h: Ditto.
18043        * platform/graphics/GraphicsContext3D.h: Ditto.
18044        * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
18045        (WebCore::GraphicsContext3D::isGLES2Compliant):
18046
180472010-04-22  Fumitoshi Ukai  <ukai@chromium.org>
18048
18049        Reviewed by Adam Barth.
18050
18051        MD5 is required for WebSocket new protocol implementation
18052        https://bugs.webkit.org/show_bug.cgi?id=37913
18053
18054        * ForwardingHeaders/wtf/MD5.h: Added.
18055
180562010-04-22  Alexey Proskuryakov  <ap@apple.com>
18057
18058        Reviewed by Darin Adler.
18059
18060        https://bugs.webkit.org/show_bug.cgi?id=38012
18061        REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
18062
18063        * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
18064        characters, to avoid falling through to virtual key code lookup for Roman characters.
18065
180662010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18067
18068        Reviewed by Darin Adler.
18069
18070        Fix the MSVC 64bit build.
18071        https://bugs.webkit.org/show_bug.cgi?id=37980
18072
18073        * platform/text/TextStream.cpp:
18074        * platform/text/TextStream.h:
18075        * plugins/win/PluginViewWin.cpp:
18076        (WebCore::PluginView::platformStart):
18077
180782010-04-22  Dave Moore  <davemoore@chromium.org>
18079
18080        Reviewed by Dimitri Glazkov.
18081
18082        Added notification when the favicons for a page are changed
18083        from a script.
18084        The Document object will notify the frame loader, which will
18085        notify the client. Implementations of FrameLoaderClient will
18086        have to add one method; dispatchDidChangeIcons().
18087
18088        https://bugs.webkit.org/show_bug.cgi?id=33812
18089
18090        Test: fast/dom/icon-url-property.html
18091
18092        * dom/Document.cpp:
18093        (WebCore::Document::setIconURL):
18094        * loader/DocumentLoader.cpp:
18095        (WebCore::DocumentLoader::setIconURL):
18096        * loader/DocumentLoader.h:
18097        (WebCore::DocumentLoader::iconURL):
18098        * loader/EmptyClients.h:
18099        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
18100        * loader/FrameLoader.cpp:
18101        (WebCore::FrameLoader::setIconURL):
18102        (WebCore::FrameLoader::didChangeIcons):
18103        * loader/FrameLoader.h:
18104        * loader/FrameLoaderClient.h:
18105
181062010-04-22  Xan Lopez  <xlopez@igalia.com>
18107
18108        Reviewed by Gustavo Noronha.
18109
18110        [GTK] GObject DOM bindings
18111        https://bugs.webkit.org/show_bug.cgi?id=33590
18112
18113        Extend the bindings to cover most of Document.idl
18114
18115        * GNUmakefile.am:
18116        * bindings/gobject/WebKitDOMBinding.cpp:
18117        (WebKit::createWrapper):
18118        (WebKit::kit):
18119        * bindings/gobject/WebKitDOMBinding.h:
18120        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
18121        (WebKit::createAnchorWrapper):
18122        (WebKit::createAppletWrapper):
18123        (WebKit::createAreaWrapper):
18124        (WebKit::createBaseWrapper):
18125        (WebKit::createBaseFontWrapper):
18126        (WebKit::createBlockquoteWrapper):
18127        (WebKit::createBodyWrapper):
18128        (WebKit::createBRWrapper):
18129        (WebKit::createButtonWrapper):
18130        (WebKit::createCanvasWrapper):
18131        (WebKit::createTableCaptionWrapper):
18132        (WebKit::createTableColWrapper):
18133        (WebKit::createModWrapper):
18134        (WebKit::createDirectoryWrapper):
18135        (WebKit::createDivWrapper):
18136        (WebKit::createDListWrapper):
18137        (WebKit::createEmbedWrapper):
18138        (WebKit::createFieldSetWrapper):
18139        (WebKit::createFontWrapper):
18140        (WebKit::createFormWrapper):
18141        (WebKit::createFrameWrapper):
18142        (WebKit::createFrameSetWrapper):
18143        (WebKit::createHeadingWrapper):
18144        (WebKit::createHeadWrapper):
18145        (WebKit::createHRWrapper):
18146        (WebKit::createHtmlWrapper):
18147        (WebKit::createIFrameWrapper):
18148        (WebKit::createImageWrapper):
18149        (WebKit::createInputWrapper):
18150        (WebKit::createIsIndexWrapper):
18151        (WebKit::createLabelWrapper):
18152        (WebKit::createLegendWrapper):
18153        (WebKit::createLIWrapper):
18154        (WebKit::createLinkWrapper):
18155        (WebKit::createMapWrapper):
18156        (WebKit::createMarqueeWrapper):
18157        (WebKit::createMenuWrapper):
18158        (WebKit::createMetaWrapper):
18159        (WebKit::createObjectWrapper):
18160        (WebKit::createOListWrapper):
18161        (WebKit::createOptGroupWrapper):
18162        (WebKit::createOptionWrapper):
18163        (WebKit::createParagraphWrapper):
18164        (WebKit::createParamWrapper):
18165        (WebKit::createPreWrapper):
18166        (WebKit::createQuoteWrapper):
18167        (WebKit::createScriptWrapper):
18168        (WebKit::createSelectWrapper):
18169        (WebKit::createStyleWrapper):
18170        (WebKit::createTableWrapper):
18171        (WebKit::createTableSectionWrapper):
18172        (WebKit::createTableCellWrapper):
18173        (WebKit::createTextAreaWrapper):
18174        (WebKit::createTitleWrapper):
18175        (WebKit::createTableRowWrapper):
18176        (WebKit::createUListWrapper):
18177        (WebKit::createHTMLElementWrapper):
18178        * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
18179        * bindings/scripts/CodeGeneratorGObject.pm:
18180        * dom/Node.idl:
18181
181822010-04-22  Eric Carlson  <eric.carlson@apple.com>
18183
18184        Reviewed by Simon Fraser.
18185
18186        Do not pause movie when readyState drops below HAVE_FUTURE_DATA
18187        https://bugs.webkit.org/show_bug.cgi?id=37991
18188        <rdar://problem/7893937>
18189
18190        No new tests, we don't have infrastructure in DRT to test with streamed
18191        movies.
18192
18193        * html/HTMLMediaElement.cpp:
18194        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
18195        (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
18196        (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
18197        (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
18198        previously >= HAVE_FUTURE_DATA. 
18199        * html/HTMLMediaElement.h:
18200
182012010-04-22  Zhenyao Mo  <zmo@google.com>
18202
18203        Reviewed by Dimitri Glazkov.
18204
18205        Regression: framebufferRenderbuffer crashes with null renderBuffer
18206        https://bugs.webkit.org/show_bug.cgi?id=37963
18207
18208        * html/canvas/WebGLRenderingContext.cpp:
18209        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
18210
182112010-04-22  Zhenyao Mo  <zmo@google.com>
18212
18213        Reviewed by Dimitri Glazkov.
18214
18215        Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
18216        https://bugs.webkit.org/show_bug.cgi?id=37281
18217
18218        * html/canvas/WebGLRenderingContext.cpp:
18219        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now. 
18220        (WebCore::WebGLRenderingContext::getParameter): Add two enums.
18221        (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
18222        * platform/graphics/mac/GraphicsContext3DMac.cpp:
18223        (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
18224
182252010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
18226
18227        Reviewed by Xan Lopez.
18228
18229        [GTK] Mute/unmute button on <video> elements are backwards
18230        https://bugs.webkit.org/show_bug.cgi?id=33967
18231
18232        Fix mute/unmute buttons icons-action relation and explain why their
18233        variable names and corresponding icons seem to be misleading but are
18234        actually right. Original patch by Mike Hommey.
18235
18236        * platform/gtk/RenderThemeGtk.cpp:
18237        (WebCore::RenderThemeGtk::initMediaStyling):
18238
182392010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18240
18241        Reviewed by Eric Seidel.
18242
18243        Fix build if NPAPI support is disabled
18244        https://bugs.webkit.org/show_bug.cgi?id=36621
18245
18246        No new tests, this is a build fix.
18247        Re-submit r58043 with fix for EFL.
18248
18249        * plugins/PluginViewNone.cpp:
18250
182512010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
18252
18253        Reviewed by Xan Lopez.
18254
18255        [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18256        WebKitGtk
18257        https://bugs.webkit.org/show_bug.cgi?id=34449
18258
18259        Implement ATK_ROLE_COMBO_BOX.
18260
18261        * accessibility/gtk/AccessibilityObjectAtk.cpp:
18262        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18263        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
18264        (atkRole):
18265
182662010-04-22  Nikolas Zimmermann  <nzimmermann@rim.com>
18267
18268        Reviewed by Dirk Schulze.
18269
18270        SVGPaintServer needs to be converted to the new RenderSVGResource* system
18271        https://bugs.webkit.org/show_bug.cgi?id=37986
18272
18273        No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
18274        This is a preparation for the real patch which follows soon.
18275
18276        * Android.mk: Rename files and move to the right location.
18277        * GNUmakefile.am: Ditto.
18278        * WebCore.gypi: Ditto.
18279        * WebCore.pro: Ditto.
18280        * WebCore.vcproj/WebCore.vcproj: Ditto.
18281        * WebCore.xcodeproj/project.pbxproj: Ditto.
18282        * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
18283        * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
18284        * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
18285        * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
18286        * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
18287        * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
18288        * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
18289        * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
18290        * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
18291        * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
18292        * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
18293        * rendering/SVGRenderTreeAsText.cpp: Change include file names.
18294        * svg/SVGFont.cpp: Ditto.
18295        * svg/SVGGradientElement.cpp: Ditto.
18296        * svg/SVGGradientElement.h: Ditto.
18297        * svg/SVGLinearGradientElement.cpp: Ditto.
18298        * svg/SVGPatternElement.cpp: Ditto.
18299        * svg/SVGPatternElement.h: Ditto.
18300        * svg/SVGRadialGradientElement.cpp: Ditto.
18301        * svg/graphics/SVGPaintServer.cpp: Removed.
18302        * svg/graphics/SVGPaintServerGradient.cpp: Removed.
18303        * svg/graphics/SVGPaintServerGradient.h: Removed.
18304        * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
18305        * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
18306        * svg/graphics/SVGPaintServerPattern.cpp: Removed.
18307        * svg/graphics/SVGPaintServerPattern.h: Removed.
18308        * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
18309        * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
18310        * svg/graphics/SVGPaintServerSolid.cpp: Removed.
18311        * svg/graphics/SVGPaintServerSolid.h: Removed.
18312        * svg/graphics/SVGResourceListener.h: Removed.
18313
183142010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18315
18316        Reviewed by Simon Hausmann.
18317
18318        [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
18319
18320        This prevents the dependent headers from being included by
18321        qt/include/QtWebKit/QtWebKit
18322
18323        * WebCore.pro:
18324
183252010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18326
18327        Reviewed by Adam Roben.
18328
18329        EFL does not support PluginDatabase yet.
18330        http://webkit.org/b/37854
18331
18332        No behavior changes, so no new tests were added.
18333
18334        * loader/FrameLoader.cpp:
18335        (WebCore::FrameLoader::defaultObjectContentType):
18336
183372010-04-22  Ilya Tikhonovsky  <loislo@chromium.org>
18338
18339        Reviewed by Yury Semikhatsky.
18340
18341        Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
18342        https://bugs.webkit.org/show_bug.cgi?id=37924
18343
18344        * inspector/front-end/TimelineGrid.js:
18345        (WebInspector.TimelineGrid.prototype.updateDividers):
18346        (WebInspector.TimelineGrid.prototype.addEventDividers):
18347        * inspector/front-end/TimelineOverviewPane.js:
18348        (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
18349        * inspector/front-end/TimelinePanel.js:
18350        (WebInspector.TimelinePanel.prototype._updateEventDividers):
18351        (WebInspector.TimelinePanel.prototype._refresh):
18352
183532010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18354
18355        Reviewed by Simon Fraser.
18356
18357        Rename window.media to window.styleMedia
18358        https://bugs.webkit.org/show_bug.cgi?id=36187
18359
18360        It has been defined that the AbstractView media extension
18361        defined in the CSSOM View spec should be renamed to styleMedia.
18362        This patch does that and updates the current layout tests
18363        making use of it.
18364
18365        * page/AbstractView.idl:
18366        * page/DOMWindow.cpp:
18367        (WebCore::DOMWindow::styleMedia):
18368        * page/DOMWindow.h:
18369        * page/DOMWindow.idl:
18370
183712010-04-22  Anton Muhin  <antonm@chromium.org>
18372
18373        Reviewed by Adam Barth.
18374
18375        [v8] Do not pass empty handle into SetHiddenValue which would crash.
18376        https://bugs.webkit.org/show_bug.cgi?id=37801
18377
18378        * bindings/v8/V8AbstractEventListener.cpp:
18379        (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
18380        (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
18381
183822010-04-22  Stephan Aßmus  <superstippi@gmx.de>
18383
18384        Reviewed by David Levin.
18385
18386        [Haiku] Implement ImageBuffer support
18387        https://bugs.webkit.org/show_bug.cgi?id=35288
18388
18389        Covered by existing tests.
18390
18391        Complete implementation of ImageBuffer for Haiku. Uses StillImage
18392        class to export a WebCore::Image and associated GraphicsContext
18393        to perform arbitrary drawing in the offscreen BBitmap buffer.
18394
18395        * platform/graphics/haiku/ImageBufferData.h:
18396        * platform/graphics/haiku/ImageBufferHaiku.cpp,
18397        (WebCore::ImageBufferData::ImageBufferData),
18398        (WebCore::ImageBufferData::~ImageBufferData),
18399        (WebCore::ImageBuffer::ImageBuffer),
18400        (WebCore::ImageBuffer::~ImageBuffer),
18401        (WebCore::ImageBuffer::context),
18402        (WebCore::ImageBuffer::image):
18403            Implementation uses offscreen BBitmap and BView, wraps StillImage
18404            around those to provide WebCore::Image interface.
18405        (WebCore::ImageBuffer::platformTransformColorSpace):
18406        (WebCore::convertFromData):
18407            Method just performs BGRA <-> RGBA conversion.
18408        (WebCore::convertFromInternalData):
18409            Method just performs BGRA <-> RGBA conversion and handles
18410            pre-multiplying the color values if requested.
18411        (WebCore::convertToInternalData):
18412            Method just performs BGRA <-> RGBA conversion and handles
18413            de.multiplying the color values if requested.
18414        (WebCore::getImageData):
18415            Common code for the next two methods.
18416        (WebCore::ImageBuffer::getUnmultipliedImageData),
18417        (WebCore::ImageBuffer::getPremultipliedImageData):
18418            Implemented.
18419        (WebCore::putImageData):
18420            Common code for the next two methods.
18421        (WebCore::ImageBuffer::putUnmultipliedImageData),
18422        (WebCore::ImageBuffer::putPremultipliedImageData):
18423            Implemented.
18424        (WebCore::ImageBuffer::toDataURL):
18425            Uses Haiku "Translation Kit" to convert image data to data
18426            of the requested mime type.
18427
184282010-04-22  Adam Barth  <abarth@webkit.org>
18429
18430        Unreviewed, rolling out r58069.
18431        http://trac.webkit.org/changeset/58069
18432        https://bugs.webkit.org/show_bug.cgi?id=27751
18433
18434        Broke compile on Windows.
18435
18436        * WebCore.base.exp:
18437        * editing/EditorCommand.cpp:
18438        (WebCore::supportedPaste):
18439        (WebCore::createCommandMap):
18440        * page/Settings.cpp:
18441        (WebCore::Settings::Settings):
18442        * page/Settings.h:
18443
184442010-04-22  Abhishek Arya  <inferno@chromium.org>
18445
18446        Reviewed by Adam Barth.
18447
18448        Add support for controlling clipboard access from javascript.
18449        Clipboard access from javascript is disabled by default.
18450        https://bugs.webkit.org/show_bug.cgi?id=27751
18451
18452        Test: editing/execCommand/clipboard-access.html
18453
18454        * WebCore.base.exp:
18455        * editing/EditorCommand.cpp:
18456        (WebCore::supportedCopyCut):
18457        (WebCore::supportedPaste):
18458        (WebCore::createCommandMap):
18459        * page/Settings.cpp:
18460        (WebCore::Settings::Settings):
18461        (WebCore::Settings::setJavaScriptCanAccessClipboard):
18462        * page/Settings.h:
18463        (WebCore::Settings::javaScriptCanAccessClipboard):
18464
184652010-04-22  Stephan Aßmus  <superstippi@gmx.de>
18466
18467        Reviewed by David Levin.
18468
18469        [Haiku] Improve SimpleFontDataHaiku
18470        https://bugs.webkit.org/show_bug.cgi?id=37411
18471
18472        Covered by existing tests.
18473
18474        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
18475            - Cleaned up includes
18476            - Removed prototype "charUnicodeToUTF8HACK"
18477        (WebCore::SimpleFontData::platformInit):
18478            - Use const BFont pointer
18479        (WebCore::SimpleFontData::smallCapsFontData):
18480            - "fontPlatformData" was leaked. It is only
18481              used as the key for the font cache lookup.
18482        (WebCore::SimpleFontData::platformMetricsForGlyph):
18483            - Use existing WebCore encoding infrastructure
18484              instead of adding a hack for Haiku. 
18485
184862010-04-21  Steve Block  <steveblock@google.com>
18487
18488        Reviewed by Kenneth Rohde Christiansen.
18489
18490        Replace Geolocation::suspend()/resume() which are required by Android.
18491        https://bugs.webkit.org/show_bug.cgi?id=37942
18492
18493        These methods were removed in Bug 36255.
18494
18495        Build fix only, no new tests.
18496
18497        * page/Geolocation.cpp:
18498        (WebCore::Geolocation::suspend):
18499        (WebCore::Geolocation::resume):
18500        * page/Geolocation.h:
18501
185022010-04-21  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
18503
18504        In HTMLInputElement.cpp there are numerous style
18505        violations.
18506
18507        This patch includes style changes to fix existing style
18508        deviations in this file.
18509
18510        Rubber stamped by Darin Adler.
18511
18512        Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
18513
18514        * html/HTMLInputElement.cpp:
18515
185162010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18517
18518        Reviewed by Adam Roben.
18519
18520        Add missing EFL WebCore file.
18521        http://webkit.org/b/37854
18522
18523        No behavior changes, so no new tests were added.
18524
18525        * bindings/js/ScriptControllerEfl.cpp: Added.
18526        (WebCore::ScriptController::createScriptInstanceForWidget):
18527
185282010-04-21  Simon Fraser  <simon.fraser@apple.com>
18529
18530        Reviewed by Dan Bernstein.
18531
18532        Printing Core Animation-based plug-ins is broken
18533        https://bugs.webkit.org/show_bug.cgi?id=37967
18534
18535        When we do a "flattening" paint because of printing, we need to stash
18536        the flattening flag in the FrameView's m_paintBehavior, because
18537        WebBaseNetscapePluginView needs to find it there to decide whether
18538        to grab a bitmap for printing, for CA plug-ins.
18539
18540        * page/FrameView.cpp:
18541        (WebCore::FrameView::paintContents):
18542
185432010-04-21  François Sausset  <sausset@gmail.com>
18544
18545        Reviewed by Kenneth Rohde Christiansen.
18546
18547        Fix to take into account a change made in "StringImpl".
18548        https://bugs.webkit.org/show_bug.cgi?id=37763
18549
18550        * mathml/RenderMathMLOperator.cpp:
18551        (WebCore::RenderMathMLOperator::updateFromElement):
18552
185532010-04-21  Andy Estes  <aestes@apple.com>
18554
18555        Reviewed by Darin Adler.
18556
18557        Create a template for creating reference-counted Windows GDI handles.
18558        Refactor RefCountedHFONT to use this template.
18559
18560        https://bugs.webkit.org/show_bug.cgi?id=37952
18561
18562        No change in behavior.
18563
18564        * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
18565        * platform/graphics/cairo/FontPlatformData.h:
18566        (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
18567        * platform/graphics/cg/FontPlatformData.h:
18568        (WebCore::FontPlatformData::hfont): Same.
18569        * platform/graphics/win/FontPlatformDataCGWin.cpp:
18570        (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
18571        * platform/graphics/win/FontPlatformDataWin.cpp:
18572        (WebCore::FontPlatformData::FontPlatformData): Same.
18573        * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
18574        (WebCore::RefCountedGDIHandle::create):
18575        (WebCore::RefCountedGDIHandle::createDeleted):
18576        (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
18577        (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
18578        (WebCore::RefCountedGDIHandle::hash):
18579        (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
18580        * platform/graphics/win/RefCountedHFONT.h: Removed.
18581
185822010-04-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
18583
18584        Reviewed by Darin Adler.
18585
18586        Fix build if NPAPI support is disabled
18587        https://bugs.webkit.org/show_bug.cgi?id=36621
18588
18589        No new tests, this is a build fix.
18590        Re-submit r56585 with fix for Chromium.
18591
18592        * plugins/PluginView.cpp: Guard getValueStatic() with
18593        NETSCAPE_PLUGIN_API
18594        (WebCore::PluginView::getValue):
18595        * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
18596        * plugins/PluginViewNone.cpp: Guard platformGetValue() and
18597        platformGetValueStatic with NETSCAPE_PLUGIN_API;
18598        Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
18599        PLATFORM(MAC) or PLATFORM(CHROMIUM)
18600
186012010-04-21  David Yonge-Mallo  <davinci@chromium.org>
18602
18603        Reviewed by Dan Bernstein.
18604
18605        ZWNJ - Display non-printing, invisible character
18606        https://bugs.webkit.org/show_bug.cgi?id=16131
18607
18608        Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
18609
18610        Tests: fast/text/format-control.html
18611               fast/text/zero-width-characters.html
18612
18613        * platform/graphics/Font.h:
18614        (WebCore::Font::operator!=):
18615        (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
18616        * platform/graphics/GlyphPageTreeNode.cpp:
18617        (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
18618        * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
18619
186202010-04-21  Charles Wei  <charles.wei@torchmobile.com.cn>
18621
18622        Reviewed by George Staikos.
18623
18624        Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for 
18625        bug fix of 37175 , which seperates DocumentWriter from FrameLoader
18626        https://bugs.webkit.org/show_bug.cgi?id=37915
18627
18628        No new tests since this only fixes the build problem.
18629
18630        * dom/Document.cpp:
18631        (WebCore::Document::isXHTMLMPDocument):
18632
186332010-04-21  Shinichiro Hamaji  <hamaji@chromium.org>
18634
18635        Reviewed by Darin Adler.
18636
18637        Call sites of TextIterator constructor are difficult to read
18638        https://bugs.webkit.org/show_bug.cgi?id=37909
18639
18640        Now we use enum parameters instead of boolean parameters and
18641        boolean version of constructors are eliminated.
18642
18643        This change also changes the names of boolean members so they are
18644        now third person singular.
18645
18646        No new tests because this is just a refactoring.
18647
18648        * WebCore.base.exp:
18649        * editing/TextIterator.cpp:
18650        (WebCore::TextIterator::TextIterator):
18651        (WebCore::TextIterator::advance):
18652        (WebCore::TextIterator::handleReplacedElement):
18653        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
18654        (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
18655        (WebCore::TextIterator::handleNonTextNode):
18656        (WebCore::TextIterator::exitNode):
18657        (WebCore::TextIterator::emitCharacter):
18658        (WebCore::TextIterator::emitText):
18659        (WebCore::CharacterIterator::CharacterIterator):
18660        (WebCore::TextIterator::rangeLength):
18661        (WebCore::TextIterator::rangeFromLocationAndLength):
18662        (WebCore::findPlainText):
18663        * editing/TextIterator.h:
18664        (WebCore::):
18665        * editing/VisibleSelection.cpp:
18666        (WebCore::VisibleSelection::appendTrailingWhitespace):
18667        * editing/visible_units.cpp:
18668        (WebCore::nextBoundary):
18669
186702010-04-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
18671
18672        Reviewed by Kenneth Rohde Christiansen.
18673
18674        Add PageClientQt files.
18675
18676        [Qt] PageClientQt specific implementation for QWidget
18677        https://bugs.webkit.org/show_bug.cgi?id=37858
18678
18679        * WebCore.pro:
18680
186812010-04-21  Diego Escalante Urrelo  <descalante@igalia.com>
18682
18683        Reviewed by Xan Lopez.
18684
18685        [Gtk] Evaluate and create tests for all the AtkRole's implemented by
18686        WebKitGtk
18687        https://bugs.webkit.org/show_bug.cgi?id=34449
18688
18689        Implement ATK_ROLE_SEPARATOR.
18690
18691        * accessibility/AccessibilityRenderObject.cpp:
18692        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
18693        * accessibility/gtk/AccessibilityObjectAtk.cpp:
18694        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
18695
186962010-04-21  David Leong  <david.leong@nokia.com>
18697
18698        Reviewed by Simon Hausmann.
18699
18700        [Qt] Symbian apps crash on exit due to a bad qObject_cast.
18701
18702        https://bugs.webkit.org/show_bug.cgi?id=37303
18703
18704        Added check for NULL to avoid the crash. Reworked to fix memory leak
18705           
18706        * plugins/symbian/PluginViewSymbian.cpp:
18707        (WebCore::PluginView::platformDestroy):
18708
187092009-04-21  Chris Fleizach  <cfleizach@apple.com>
18710
18711        Reviewed by Alexey Proskuryakov.
18712
18713        aria-liveregion-notifications.html fails on leopard release bot
18714        https://bugs.webkit.org/show_bug.cgi?id=37112
18715
18716        Change the method that DRT uses to monitor AX notifications so that its robust
18717        by just sending out NSNotification that can be listened to by anyone, instead
18718        of keeping a static function pointer around.
18719   
18720        This change is aimed to avoid flakiness seen in DRT when the notification handlers
18721        are not being called at the appropriate time.
18722
18723        Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
18724               platform/mac/accessibility/aria-liveregions-changedalt.html
18725               platform/mac/accessibility/aria-liveregions-changedtext.html
18726               platform/mac/accessibility/aria-liveregions-removedelement.html
18727
18728        * accessibility/mac/AccessibilityObjectWrapper.h:
18729        * accessibility/mac/AccessibilityObjectWrapper.mm:
18730        (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
18731        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
18732
187332010-04-21  Gavin Barraclough  <barraclough@apple.com>
18734
18735        Reviewed by NOBODY (Leopard build fix).
18736        Remove old exports.
18737
18738        * WebCore.base.exp:
18739
187402010-04-21  Gavin Barraclough  <barraclough@apple.com>
18741
18742        Reviewed by Darin Adler.
18743
18744        Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
18745        UString and String now have the same internal representation; Just re-wrap the internal impl.
18746
18747        * bindings/js/JSDOMBinding.cpp:
18748        (WebCore::jsStringSlowCase):
18749        * bindings/js/JSDOMBinding.h:
18750        (WebCore::ustringToString):
18751        (WebCore::stringToUString):
18752        (WebCore::identifierToString):
18753        (WebCore::ustringToAtomicString):
18754        (WebCore::identifierToAtomicString):
18755
187562010-04-21  Mark Rowe  <mrowe@apple.com>
18757
18758        Reviewed by Eric Carlson.
18759
18760        <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
18761
18762        A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
18763        preference file on disk is often required to reproduce the bug.
18764
18765        * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
18766
187672010-04-21  Mark Rowe  <mrowe@apple.com>
18768
18769        Reviewed by Maciej Stachowiak.
18770
18771        <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
18772
18773        This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
18774        a modal dialog on-screen.
18775
18776        * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
18777        * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
18778
187792010-04-21  Sam Weinig  <sam@webkit.org>
18780
18781        Reviewed by Geoffrey Garen.
18782
18783        Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
18784        Wean JavaScriptCore off calls to isMainThread()
18785
18786        No change in behavior.
18787
18788        * bindings/js/JSDOMWindowBase.cpp:
18789        (WebCore::JSDOMWindowBase::commonJSGlobalData):
18790        Explicitly set a large stack type for the common JSGlobalData and
18791        set the currently running thread as the exclusive thread for its 
18792        execution.
18793
18794        * bindings/js/WorkerScriptController.cpp:
18795        (WebCore::WorkerScriptController::WorkerScriptController):
18796        Explicitly set a small stack type for the workers JSGlobalData. 
18797
187982010-04-21  Gavin Barraclough  <barraclough@apple.com>
18799
18800        Reviewed by NOBODY (Qt build fix).
18801
18802        * WebCore.gypi:
18803        * WebCore.pro:
18804        * platform/text/qt/StringQt.cpp: Removed.
18805
188062010-04-20  Gavin Barraclough  <barraclough@apple.com>
18807
18808        Reviewed by Oliver Hunt, Darin Adler.
18809
18810        Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
18811        Add include for StringHash.h.
18812
18813        * WebCore.xcodeproj/project.pbxproj:
18814        * bridge/c/c_class.cpp:
18815
188162010-04-21  Alexey Proskuryakov  <ap@apple.com>
18817
18818        Tiger build fix.
18819
18820        * platform/network/mac/ResourceHandleMac.mm:
18821        (WebCore::createNSURLConnection): Fixed a typo, named an argument.
18822        (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
18823        now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
18824
188252010-04-21  Alexey Proskuryakov  <ap@apple.com>
18826
18827        Reviewed by Adam Roben.
18828
18829        Windows build fix.
18830
18831        * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
18832        for now, as it's mistakenly missing from WebKitSupportLibrary headers.
18833
188342010-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
18835
18836        Reviewed by Darin Adler.
18837
18838        REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
18839        https://bugs.webkit.org/show_bug.cgi?id=37902
18840
18841        The issue is due to MSVC creating enums as signed. The fix is to store the value
18842        as unsigned.
18843
18844        Test: http://acid3.acidtests.org/
18845
18846        * rendering/style/RenderStyle.h:
18847        (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
18848
188492010-04-21  Alexey Proskuryakov  <ap@apple.com>
18850
18851        Reviewed by Brady Eidson.
18852
18853        https://bugs.webkit.org/show_bug.cgi?id=37933
18854        <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
18855
18856        Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
18857
18858        This improves integration between ResourceHandle and Apple networking libraries.
18859
18860        * platform/network/cf/ResourceHandleCFNet.cpp:
18861        (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
18862        (WebCore::ResourceHandle::start): Pass connection properties.
18863        (WebCore::WebCoreSynchronousLoader::load): Ditto.
18864
18865        * platform/network/mac/ResourceHandleMac.mm:
18866        (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
18867        NSURLConnection. Tell NSURLConnection about credential policy upfront.
18868        (WebCore::ResourceHandle::start): Use the new function.
18869        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
18870
188712010-04-21  Xiaomei Ji  <xji@chromium.org>
18872
18873        Reviewed by Dimitri Glazkov
18874
18875        This patch fixes [chromium] RTL <select> dropdown box expands to right
18876        instead of left.
18877        https://bugs.webkit.org/show_bug.cgi?id=37232
18878
18879        No automatic test is possible.
18880
18881        * manual-tests/select_dropdown_box_alignment.html: Added.
18882        * platform/chromium/PopupMenuChromium.cpp:
18883        (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box 
18884        for RTL.
18885
188862010-04-21  anton muhin  <antonm@google.com>
18887
18888        Reviewed by Adam Barth.
18889
18890        [v8] Bail out if fetching of Object.prototype fails.
18891        https://bugs.webkit.org/show_bug.cgi?id=37661
18892
18893        If for any reason we failed to fetch Object.prototype, context cannot
18894        be properly initialized and we bail out.
18895
18896        * bindings/v8/V8DOMWindowShell.cpp:
18897        (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
18898        (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
18899        * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
18900
189012010-04-21  Timothy Hatcher  <timothy@apple.com>
18902
18903        Make UserContentURLPattern correctly check for subdomains and the URL
18904        has the same suffix as the pattern. Also improve the parsing of the host.
18905
18906        https://bugs.webkit.org/show_bug.cgi?id=37357
18907
18908        Reviewed by Darin Adler.
18909
18910        * page/UserContentURLPattern.cpp:
18911        (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
18912        simply check for "*" only or a "*." prefix and then do a substring.
18913        (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
18914        position before the suffix to ensure it a subdomain and not just a suffix match.
18915
189162010-04-21  Xan Lopez  <xlopez@igalia.com>
18917
18918        Try to fix compilation on GTK+ debug bots.
18919
18920        * bindings/gobject/WebKitDOMBinding.cpp:
18921        (WebKit::createWrapper):
18922
189232010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>
18924
18925        Reviewed by Darin Adler.
18926
18927        List item markers are not always updated after changes in the DOM.
18928        https://bugs.webkit.org/show_bug.cgi?id=37060
18929
18930        In particular, they would not be updated when adding/removing an item
18931        that is not a direct child of the list element.
18932
18933        Tests: fast/lists/ol-nested-items-dynamic-insert.html
18934               fast/lists/ol-nested-items-dynamic-remove.html
18935               fast/lists/ol-nested-items.html
18936               fast/lists/ol-nested-list-dynamic-insert.html
18937               fast/lists/ol-nested-list-dynamic-remove.html
18938               fast/lists/ol-nested-list.html
18939
18940        * rendering/RenderListItem.cpp:
18941        (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
18942        * rendering/RenderListItem.h:
18943        * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
18944        (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
18945        * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
18946        (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
18947        (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
18948        (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
18949        * rendering/RenderTreeAsText.cpp:
18950        (WebCore::markerTextForListItem):
18951
189522010-04-21  Xan Lopez  <xlopez@igalia.com>
18953
18954        Reviewed by Adam Barth.
18955
18956        [GTK] GObject DOM bindings
18957        https://bugs.webkit.org/show_bug.cgi?id=33590
18958
18959        Initial version of the GObject DOM bindings.
18960
18961        Only bindings for Node.idl and a few of its dependencies are
18962        provided, without public API to access them at the
18963        moment. References to the Document interfaces and to
18964        EventListeners in Node.idl are ignored for GObject to make the
18965        initial patch as small as possible, but will be enabled in a
18966        follow-up patch.
18967
18968        * GNUmakefile.am:
18969        * bindings/gobject/ConvertToUTF8String.cpp: Added.
18970        (convertToUTF8String):
18971        * bindings/gobject/ConvertToUTF8String.h: Added.
18972        * bindings/gobject/WebKitDOMBinding.cpp: Added.
18973        (WebKit::domObjects):
18974        (WebKit::DOMObjectCache::get):
18975        (WebKit::DOMObjectCache::put):
18976        (WebKit::DOMObjectCache::forget):
18977        (WebKit::createWrapper):
18978        (WebKit::kit):
18979        * bindings/gobject/WebKitDOMBinding.h: Added.
18980        * bindings/gobject/WebKitDOMObject.cpp: Added.
18981        (webkit_dom_object_init):
18982        (webkit_dom_object_class_init):
18983        * bindings/gobject/WebKitDOMObject.h: Added.
18984        * bindings/scripts/CodeGeneratorGObject.pm: Added.
18985        * bindings/scripts/gobject-generate-headers.pl: Added.
18986        * dom/Node.idl:
18987
189882010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
18989
18990        Reviewed by Xan Lopez.
18991
18992        Wrong header being included in FontPlatformDataCairo.cpp
18993        https://bugs.webkit.org/show_bug.cgi?id=37829
18994
18995        No behavior changes, so no new tests were added.
18996
18997        * platform/graphics/cairo/FontPlatformDataCairo.cpp:
18998
189992010-04-21  Adam Roben  <aroben@apple.com>
19000
19001        Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
19002
19003        Fixes <http://webkit.org/b/37922>.
19004
19005        Reviewed by Dave Hyatt.
19006
19007        * rendering/RenderSVGResourceFilter.cpp:
19008        (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
19009        hold the heap-allocated FilterData object, so that we won't leak it
19010        when we bail out of this function on error.
19011
190122010-04-21  Zoltan Herczeg  <zherczeg@webkit.org>
19013
19014        Reviewed by Kenneth Rohde Christiansen.
19015
19016        [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
19017        https://bugs.webkit.org/show_bug.cgi?id=37844
19018
19019        nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
19020        which is required by startAnimation() to detect frame and repetition counts.
19021        Hence, Image::drawTiled cannot start animations under Qt:
19022        <html><body background="animated.gif"></body></html> does not work
19023
19024        * platform/graphics/qt/ImageDecoderQt.cpp:
19025        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
19026
190272010-04-21  Benjamin Poulain  <ikipou@gmail.com>
19028
19029        Reviewed by Simon Fraser.
19030
19031        Update of fixed elements is not made correctly when the page has been scrolled
19032        https://bugs.webkit.org/show_bug.cgi?id=36783
19033
19034        When a fixed element was updated, the old geometry was not repainted correctly
19035        because the repaint rect was cached during the layout and not updated when 
19036        scrolling.
19037
19038        The rect is now updated while scrolling so the region updated correspond to the
19039        region of the element on the screen.
19040
19041        The method RenderLayer::updateRepaintRectsAfterScroll() updates
19042        the repaint rect of all fixed tree after scroll.
19043
19044        Tests: fast/repaint/fixed-child-move-after-scroll.html
19045               fast/repaint/fixed-child-of-fixed-move-after-scroll.html
19046               fast/repaint/fixed-child-of-transformed-move-after-scroll.html
19047               fast/repaint/fixed-move-after-scroll.html
19048
19049        * page/FrameView.cpp:
19050        (WebCore::FrameView::scrollPositionChanged):
19051        * rendering/RenderLayer.cpp:
19052        (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
19053        * rendering/RenderLayer.h:
19054
190552010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
19056
19057        Reviewed by Adam Roben.
19058
19059        Update EFL port to match recent API changes.
19060        http://webkit.org/b/37853
19061
19062        No behavior changes, so no new tests were added.
19063
19064        * platform/efl/FileSystemEfl.cpp:
19065        * platform/efl/LocalizedStringsEfl.cpp:
19066        (WebCore::missingPluginText):
19067        (WebCore::crashedPluginText):
19068        * platform/efl/MIMETypeRegistryEfl.cpp:
19069        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
19070        * platform/graphics/efl/ImageEfl.cpp:
19071
190722010-04-21  Avi Drissman  <avi@chromium.org>
19073
19074        Reviewed by Simon Fraser.
19075
19076        JPG images fail to print in Chromium
19077        https://bugs.webkit.org/show_bug.cgi?id=37796
19078
19079        Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
19080
19081        * platform/graphics/cg/ImageSourceCG.cpp:
19082        (WebCore::ImageSource::setData):
19083
190842010-04-21  Marcus Bulach  <bulach@chromium.org>
19085
19086        Reviewed by Nate Chapin.
19087
19088        EventSource needs to be marked as an ActiveDomType.
19089        https://bugs.webkit.org/show_bug.cgi?id=37857
19090        Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
19091
19092        * bindings/scripts/CodeGeneratorV8.pm:
19093        * bindings/v8/V8DOMWrapper.cpp:
19094        * bindings/v8/custom/V8EventSourceConstructor.cpp:
19095        (WebCore::V8EventSource::constructorCallback):
19096
190972010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
19098
19099        Reviewed by Nikolas Zimmermann.
19100
19101        Add missing includes to platform/posix/FileSystemPOSIX.cpp
19102        https://bugs.webkit.org/show_bug.cgi?id=37861
19103
19104        No behavior changes, so no new tests were added.
19105
19106        * platform/posix/FileSystemPOSIX.cpp:
19107
191082010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
19109
19110        Reviewed by Simon Fraser.
19111
19112        [Qt] Fix or remove the runtime flag for accelerated compositing.
19113
19114        This adds a way for a chrome client to disallow layers from becoming composited,
19115        even if the settings enable accelerated compositing. This is necessary for platforms
19116        where different views can be applied with the same settings to the same page.
19117
19118        We enable an API through ChromeClient to ask the chrome-client whether or not
19119        it can render composited layers, which is taken into account when the compositor
19120        decides whether or not to start compositing.
19121
19122        https://bugs.webkit.org/show_bug.cgi?id=37313
19123
19124        Pages under LayoutTests/compositing now work under QWebView, even when
19125        QWebSettings::AcceleratedCompositingEnabled is on.
19126
19127        * page/ChromeClient.h:
19128        (WebCore::ChromeClient::allowsAcceleratedCompositing):
19129        * platform/qt/QWebPageClient.h:
19130        (QWebPageClient::allowsAcceleratedCompositing):
19131        * rendering/RenderLayerCompositor.cpp:
19132        (WebCore::RenderLayerCompositor::canBeComposited):
19133
191342010-04-21  Ryosuke Niwa  <rniwa@webkit.org>
19135
19136        No review. Spurious whitespace was removed from project file.
19137
19138        * WebCore.xcodeproj/project.pbxproj:
19139
191402010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
19141
19142        Reviewed by Eric Seidel.
19143
19144        [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
19145        https://bugs.webkit.org/show_bug.cgi?id=37912
19146
19147        Replaced the ternary operator by an if statement because GCC was confused by the use of
19148        ternary operator and producing warnings on Qt builds.
19149
19150        * WebCore.xcodeproj/project.pbxproj:
19151        * editing/CompositeEditCommand.cpp:
19152        (WebCore::CompositeEditCommand::moveParagraphs):
19153
191542010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
19155
19156        Reviewed by Justin Garcia.
19157
19158        Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
19159        https://bugs.webkit.org/show_bug.cgi?id=19539
19160
19161        Fixes a bug where two consecutive lists are not merged if they have been converted
19162        from ordered/unordered lists inside another list.
19163
19164        The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
19165        list element and its neighbors. This patch adds code to doApply so that after inserting
19166        the list element, it updates previousList and nextList to the outermost list elements around
19167        insertionPos under the same enclosing list. Because the next and the previous list elements
19168        are not necessarily visually next to the newly inserted element before moveParagraph moves
19169        the paragraph into the new list element, doApply merges lists after moveParagraph is called.
19170
19171        Test: editing/execCommand/insert-lists-inside-another-list.html
19172
19173        * editing/InsertListCommand.cpp:
19174        (WebCore::InsertListCommand::doApply): Modified as described above
19175        * editing/htmlediting.cpp:
19176        (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
19177          which is a descendent of rootNode.
19178        * editing/htmlediting.h:
19179
191802010-04-20  Alexey Proskuryakov  <ap@apple.com>
19181
19182        Reviewed by Darin Adler.
19183
19184        https://bugs.webkit.org/show_bug.cgi?id=37776
19185        <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
19186
19187        * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
19188        for Roman letters and punctuation.
19189
19190        * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
19191        of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
19192        also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
19193        to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
19194        to their keycodes.
19195
191962010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>
19197
19198        Reviewed by Darin Adler and Alexey Proskuryakov.
19199
19200        A backslash in EUC-JP becomes to a yen sign when it is copied
19201        https://bugs.webkit.org/show_bug.cgi?id=36419
19202
19203        Tests: editing/execCommand/transpose-backslash-with-euc.html
19204               editing/pasteboard/copy-backslash-with-euc.html
19205
19206        * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
19207        (WebCore::Editor::addToKillRing):
19208        * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
19209        (WebCore::TextIterator::TextIterator):
19210        (WebCore::TextIterator::init):
19211        (WebCore::TextIterator::emitText):
19212        (WebCore::plainTextToMallocAllocatedBuffer):
19213        * editing/TextIterator.h:
19214        (WebCore::):
19215        * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
19216        (WebCore::Pasteboard::writeSelection):
19217        * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
19218        * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
19219        (WebCore::RenderText::RenderText):
19220        (WebCore::RenderText::updateNeedsTranscoding):
19221        (WebCore::RenderText::styleDidChange):
19222        (WebCore::isInlineFlowOrEmptyText):
19223        (WebCore::RenderText::previousCharacter):
19224        (WebCore::RenderText::setTextInternal):
19225        (WebCore::RenderText::textWithoutTranscoding):
19226        (WebCore::RenderText::transformText):
19227        * rendering/RenderText.h:
19228        * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
19229        (WebCore::RenderTextControl::setInnerTextValue):
19230        (WebCore::RenderTextControl::finishText):
19231        * rendering/RenderTextFragment.cpp:
19232        (WebCore::RenderTextFragment::previousCharacter):
19233        * rendering/RenderTextFragment.h:
19234
192352010-04-20  Nate Chapin  <japhet@chromium.org>
19236
19237        Reviewed by Dimitri Glazkov.
19238
19239        https://bugs.webkit.org/show_bug.cgi?id=37367
19240
19241        Fix style violations in code generated by CodeGeneratorV8.pm.
19242
19243        * bindings/scripts/CodeGeneratorV8.pm:
19244        * bindings/v8/test/V8TestObj.cpp:
19245        * bindings/v8/test/V8TestObj.h:
19246
192472010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19248
19249        Unreviewed, rolling out r57924.
19250        http://trac.webkit.org/changeset/57924
19251        https://bugs.webkit.org/show_bug.cgi?id=37898
19252
19253        It broke 3-4 test on all bot (Requested by Ossy on #webkit).
19254
19255        * page/AbstractView.idl:
19256        * page/DOMWindow.cpp:
19257        (WebCore::DOMWindow::media):
19258        * page/DOMWindow.h:
19259        * page/DOMWindow.idl:
19260
192612010-04-20  Gavin Barraclough  <barraclough@apple.com>
19262
19263        Reviewed by Oliver Hunt.
19264
19265        Bug 37895 - Share common code from UStringImplBase with StringImpl
19266        Add forwarding header.
19267
19268        * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
19269
192702010-04-20  Adam Barth  <abarth@webkit.org>
19271
19272        Unreviewed build fix fro Chromium.
19273
19274        * loader/DocumentWriter.cpp:
19275
192762010-04-20  Pavel Feldman  <pfeldman@chromium.org>
19277
19278        Reviewed by Timothy Hatcher.
19279
19280        Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
19281
19282        https://bugs.webkit.org/show_bug.cgi?id=37820
19283
19284        * inspector/front-end/ScriptsPanel.js:
19285        (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
19286        (WebInspector.ScriptsPanel.prototype.editScriptLine):
19287        * inspector/front-end/TextViewer.js:
19288        (WebInspector.TextViewer.prototype._handleDoubleClick):
19289        (WebInspector.TextViewer.prototype._cancelEditingLine):
19290
192912010-04-20  Adam Barth  <abarth@webkit.org>
19292
19293        Reviewed by Eric Seidel.
19294
19295        Factor DocumentWriter out of FrameLoader
19296        https://bugs.webkit.org/show_bug.cgi?id=37175
19297
19298        This patch separates the begin/write/end cycle of decoding network
19299        bytes and putting them into a document from the rest of the loading
19300        machinery.  The code and state required to write bytes into a document
19301        doesn't interact very much with the rest of the loading machinery.
19302
19303        No tests because there is no behavior change (hopefully!).
19304
19305        * Android.mk:
19306        * GNUmakefile.am:
19307        * WebCore.base.exp:
19308        * WebCore.gypi:
19309        * WebCore.pro:
19310        * WebCore.vcproj/WebCore.vcproj:
19311        * WebCore.xcodeproj/project.pbxproj:
19312        * bindings/ScriptControllerBase.cpp:
19313        (WebCore::ScriptController::executeIfJavaScriptURL):
19314        * dom/Document.cpp:
19315        (WebCore::Document::close):
19316        * dom/ProcessingInstruction.cpp:
19317        (WebCore::ProcessingInstruction::checkStyleSheet):
19318        * dom/ScriptElement.cpp:
19319        (WebCore::ScriptElementData::scriptCharset):
19320        * html/HTMLLinkElement.cpp:
19321        (WebCore::HTMLLinkElement::process):
19322        * loader/DocLoader.cpp:
19323        (WebCore::DocLoader::requestPreload):
19324        * loader/DocumentLoader.cpp:
19325        (WebCore::DocumentLoader::finishedLoading):
19326        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
19327        * loader/DocumentWriter.cpp: Added.
19328        * loader/DocumentWriter.h: Added.
19329        * loader/FrameLoader.cpp:
19330        (WebCore::FrameLoader::FrameLoader):
19331        (WebCore::FrameLoader::init):
19332        (WebCore::FrameLoader::clear):
19333        (WebCore::FrameLoader::receivedFirstData):
19334        (WebCore::FrameLoader::setURL):
19335        (WebCore::FrameLoader::didBeginDocument):
19336        (WebCore::FrameLoader::didEndDocument):
19337        (WebCore::FrameLoader::willSetEncoding):
19338        (WebCore::FrameLoader::addData):
19339        (WebCore::FrameLoader::transitionToCommitted):
19340        (WebCore::FrameLoader::open):
19341        (WebCore::FrameLoader::finishedLoadingDocument):
19342        (WebCore::FrameLoader::addExtraFieldsToRequest):
19343        * loader/FrameLoader.h:
19344        (WebCore::FrameLoader::writer):
19345        (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
19346        * loader/MediaDocument.cpp:
19347        (WebCore::MediaDocument::replaceMediaElementTimerFired):
19348        * loader/PluginDocument.cpp:
19349        (WebCore::PluginTokenizer::createDocumentStructure):
19350        * platform/network/FormDataBuilder.cpp:
19351        (WebCore::FormDataBuilder::dataEncoding):
19352        * svg/graphics/SVGImage.cpp:
19353        (WebCore::SVGImage::dataChanged):
19354
193552010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19356
19357        Reviewed by Simon Fraser.
19358
19359        Rename window.media to window.styleMedia
19360        https://bugs.webkit.org/show_bug.cgi?id=36187
19361
19362        It has been defined that the AbstractView media extension
19363        defined in the CSSOM View spec should be renamed to styleMedia.
19364        This patch does that and updates the current layout tests
19365        making use of it.
19366
19367        * page/AbstractView.idl:
19368        * page/DOMWindow.cpp:
19369        (WebCore::DOMWindow::styleMedia):
19370        * page/DOMWindow.h:
19371        * page/DOMWindow.idl:
19372
193732010-04-20  Timothy Hatcher  <timothy@apple.com>
19374
19375        Fix matching of "file:///*" patterns by not trying to compare the host. The host is
19376        irrelevant for file URLs.
19377
19378        Also fix comparisons to be case insensitive.
19379
19380        https://bugs.webkit.org/show_bug.cgi?id=37889
19381
19382        Reviewed by Dave Hyatt.
19383
19384        * page/UserContentURLPattern.cpp:
19385        (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
19386        (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
19387        matchesHost if the scheme isn't "file".
19388        (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
19389        was already doing a case-insensitive compare, so existing tests worked though this path.
19390
193912010-04-20  Justin Schuh  <jschuh@chromium.org>
19392
19393        Reviewed by Adam Barth.
19394
19395        Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
19396        https://bugs.webkit.org/show_bug.cgi?id=37331
19397
19398        Added a setting to enable/disable media per-page and have the SVGImage 
19399        disable media for its dummy page. Also found and fixed a related bad
19400        cast in the V8 bindings (JSC had a custom wrapper for this already).
19401
19402        Tests: media/svg-as-image-with-media-blocked.html
19403
19404        * dom/make_names.pl: Added media enabled check and V8 cast wrapper
19405        * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
19406        (WebCore::Settings::Settings):
19407        (WebCore::Settings::setMediaEnabled):
19408        * page/Settings.h:
19409        (WebCore::Settings::isMediaEnabled):
19410        * svg/graphics/SVGImage.cpp: Disables media in dummy page
19411        (WebCore::SVGImage::dataChanged):
19412
194132010-04-19  Antonio Gomes  <tonikitoo@webkit.org>
19414
19415        Reviewed by Simon Fraser.
19416
19417        Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
19418        https://bugs.webkit.org/show_bug.cgi?id=37802
19419
19420        In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
19421        the method body. If after those bail out checks, no "best FocusCandidate" has been taken
19422        yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
19423        and exit earlier.
19424
19425        No behavior change, it is just a safe assignment shortcut.
19426
19427        * page/FocusController.cpp:
19428        (WebCore::updateFocusCandidateIfCloser):
19429
194302010-04-20  Simon Fraser  <simon.fraser@apple.com>
19431
19432        Reviewed by Dan Bernstein.
19433
19434        Hook compositing layers together across iframes
19435        https://bugs.webkit.org/show_bug.cgi?id=37878
19436        
19437        First step: if an iframe's document goes into compositing mode, also throw the parent
19438        document into compositing mode (all the way up to the root). This is required both
19439        to preserve layering (since parent document content can obscure iframe content),
19440        and so that we can eventually hook the layer trees together.
19441
19442        Test: compositing/iframes/composited-iframe.html
19443
19444        * rendering/RenderIFrame.h:
19445        * rendering/RenderIFrame.cpp:
19446        (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
19447        a RenderLayer, so must return |true| from requiresLayer().
19448        (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
19449        is in compositing mode.
19450        (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
19451        if a renderer is an iframe.
19452        (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
19453
19454        * rendering/RenderLayerCompositor.h:
19455        * rendering/RenderLayerCompositor.cpp:
19456        (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
19457        the compositing mode changes, so that the parent document can update its compositing status.
19458        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
19459        (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
19460        wants to be composited.
19461
19462        * rendering/RenderObject.h:
19463        (WebCore::RenderObject::isRenderIFrame): Base class returns false.
19464
19465        * rendering/RenderView.h:
19466        * rendering/RenderView.cpp:
19467        (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
19468        its parent document that a recalcStyle is required, to update compositing state.
19469
194702010-04-20  Gavin Barraclough  <barraclough@apple.com>
19471
19472        Reviewed by NOBODY (build fix).
19473        Speculative tiger build fix.
19474
19475        * WebCore.NPAPI.exp:
19476        * WebCore.PluginHostProcess.exp:
19477        * WebCore.base.exp:
19478
194792010-04-20  Pavel Feldman  <pfeldman@chromium.org>
19480
19481        Reviewed by Timothy Hatcher.
19482
19483        Web Inspector: add basic script editing capabilities to the front-end.
19484
19485        https://bugs.webkit.org/show_bug.cgi?id=37875
19486
19487        * bindings/js/ScriptDebugServer.cpp:
19488        (WebCore::ScriptDebugServer::setBreakpoint):
19489        (WebCore::ScriptDebugServer::removeBreakpoint):
19490        * inspector/front-end/ScriptView.js:
19491        (WebInspector.ScriptView):
19492        (WebInspector.ScriptView.prototype._editLine):
19493        (WebInspector.ScriptView.prototype._editLineComplete):
19494        * inspector/front-end/ScriptsPanel.js:
19495        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
19496        (WebInspector.ScriptsPanel.prototype.canEditScripts):
19497        (WebInspector.ScriptsPanel.prototype.editScriptLine):
19498        * inspector/front-end/SourceFrame.js:
19499        (WebInspector.SourceFrame):
19500        (WebInspector.SourceFrame.prototype.updateContent):
19501        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
19502        * inspector/front-end/TextEditorHighlighter.js:
19503        (WebInspector.TextEditorHighlighter):
19504        (WebInspector.TextEditorHighlighter.prototype.reset):
19505        * inspector/front-end/TextEditorModel.js:
19506        (WebInspector.TextEditorModel.prototype.copyRange):
19507        * inspector/front-end/TextViewer.js:
19508        (WebInspector.TextViewer):
19509        (WebInspector.TextViewer.prototype.set editCallback):
19510        (WebInspector.TextViewer.prototype._buildChunks):
19511        (WebInspector.TextViewer.prototype._handleKeyDown):
19512        (WebInspector.TextViewer.prototype._handleDoubleClick):
19513        (WebInspector.TextViewer.prototype._commitEditingLine):
19514        (WebInspector.TextViewer.prototype._cancelEditingLine):
19515        * inspector/front-end/inspector.js:
19516        (WebInspector.documentKeyDown):
19517        (WebInspector.log.logMessage):
19518        (WebInspector.log):
19519        (WebInspector.isEditingAnyField):
19520        (WebInspector.startEditing.cleanUpAfterEditing):
19521
195222010-04-20  Gavin Barraclough  <barraclough@apple.com>
19523
19524        Reviewed by Geoff Garen.
19525
19526        Add forwarding header.
19527
19528        * ForwardingHeaders/runtime/RopeImpl.h: Added.
19529
195302010-04-20  Gavin Barraclough  <barraclough@apple.com>
19531
19532        Reviewed by Geoff Garen.
19533
19534        Bug 37828 - Move WebCore's String classes to WTF
19535
19536        Move these classes up to WTF so they are available to all clients of WTF (in
19537        particular JSC).
19538
19539        As a first patch, making the most minimal change possible, since this patch
19540        could easily grow rather large since we'll have to change every class forward
19541        declaration ( e.g. every "namespace WebCore { class String; }" much change to
19542        "namespace WTF { class String; }").
19543
19544        Moving the files, but leaving the classes logically in the WebCore namespace -
19545        which is technically a layering violation - I'll come back and fix this up in a
19546        subsequent patch.
19547
19548        * Android.mk:
19549        * ForwardingHeaders/wtf/StaticConstructors.h: Added.
19550        * ForwardingHeaders/wtf/text/AtomicString.h: Added.
19551        * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
19552        * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
19553        * ForwardingHeaders/wtf/text/StringHash.h: Added.
19554        * ForwardingHeaders/wtf/text/StringImpl.h: Added.
19555        * ForwardingHeaders/wtf/text/WTFString.h: Added.
19556        * GNUmakefile.am:
19557        * WebCore.gypi:
19558        * WebCore.pro:
19559        * WebCore.vcproj/WebCore.vcproj:
19560        * WebCore.xcodeproj/project.pbxproj:
19561        * css/MediaFeatureNames.cpp:
19562        * dom/QualifiedName.cpp:
19563        * dom/make_names.pl:
19564        * platform/StaticConstructors.h: Removed.
19565        * platform/text/AtomicString.cpp: Removed.
19566        * platform/text/AtomicString.h:
19567        * platform/text/AtomicStringImpl.h:
19568        * platform/text/PlatformString.h:
19569        * platform/text/String.cpp:
19570        * platform/text/StringHash.h:
19571        * platform/text/StringImpl.cpp: Removed.
19572        * platform/text/StringImpl.h:
19573
195742010-04-20  Kent Tamura  <tkent@chromium.org>
19575
19576        Reviewed by Darin Adler.
19577
19578        Change a parameter type of chooseIconForFiles()
19579        https://bugs.webkit.org/show_bug.cgi?id=37504
19580
19581        Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
19582        to FileChooser*. Though an implementation of chooseIconForFiles()
19583        might have ownership of the FileChooser instance, we don't need to
19584        use PassRefPtr<> in this case.
19585
19586        * loader/EmptyClients.h:
19587        (WebCore::EmptyChromeClient::chooseIconForFiles):
19588        * page/Chrome.cpp:
19589        (WebCore::Chrome::chooseIconForFiles):
19590        * page/Chrome.h:
19591        * page/ChromeClient.h:
19592
195932010-04-20  Diego Escalante Urrelo  <descalante@igalia.com>
19594
19595        Reviewed by Xan Lopez.
19596
19597        [Gtk] Evaluate and create tests for all the AtkRole's implemented by
19598        WebKitGtk
19599        https://bugs.webkit.org/show_bug.cgi?id=34449
19600
19601        Implement ATK_ROLE_FORM.
19602
19603        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19604        (webkit_accessible_get_role):
19605
196062010-04-20  Martin Robinson  <mrobinson@webkit.org>
19607
19608        Reviewed by Gustavo Noronha Silva.
19609
19610        [GTK] Enable DOM clipboard and drag-and-drop access
19611        https://bugs.webkit.org/show_bug.cgi?id=30623
19612
19613        Move most of the PasteboardHelper logic into WebCore. This helps
19614        prepare for WebKit2 and leads to a clearer separation of concerns
19615        between the WebKit and WebCore layers.
19616
19617        No new tests as functionality has not changed.
19618
19619        * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
19620        * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
19621        * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
19622        (WebCore::clipboard_get_contents_cb): Ditto.
19623        (WebCore::Pasteboard::helper): Added, member is now private.
19624        (WebCore::Pasteboard::writeURL): Ditto.
19625        (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
19626        (WebCore::Pasteboard::plainText): Ditto.
19627        * platform/gtk/PasteboardHelper.cpp: Added.
19628        (WebCore::PasteboardHelper::PasteboardHelper): Added.
19629        (WebCore::PasteboardHelper::~PasteboardHelper): Added.
19630        (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
19631        (WebCore::widgetFromFrame): Added helper function.
19632        (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
19633        (WebCore::PasteboardHelper::getClipboard): Ditto.
19634        (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
19635        (WebCore::PasteboardHelper::targetList): Ditto.
19636        (WebCore::PasteboardHelper::fillSelectionData): Ditto.
19637        (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
19638        (WebCore::getClipboardContentsCallback): Ditto.
19639        (WebCore::clearClipboardContentsCallback): Ditto.
19640        (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
19641        * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
19642
196432010-04-20  Simon Fraser  <simon.fraser@apple.com>
19644
19645        Reviewed by Anders Carlsson.
19646
19647        backgroundColor is oddly indented in layer tree dump
19648        https://bugs.webkit.org/show_bug.cgi?id=37885
19649
19650        The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
19651        to be written twice.
19652        
19653        * platform/graphics/GraphicsLayer.cpp:
19654        (WebCore::GraphicsLayer::dumpProperties):
19655
196562010-04-20  Simon Fraser  <simon.fraser@apple.com>
19657
19658        Reviewed by Dimitri Glazkov.
19659
19660        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19661        https://bugs.webkit.org/show_bug.cgi?id=37741
19662
19663        RenderPartObject is a useless intermediate class between RenderPart and
19664        RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
19665        applies to objects and embeds when the content is a FrameView, so can move
19666        to RenderEmbeddedObject.
19667
19668        * Android.mk:
19669        * GNUmakefile.am:
19670        * WebCore.gypi:
19671        * WebCore.pro:
19672        * WebCore.vcproj/WebCore.vcproj:
19673        * WebCore.xcodeproj/project.pbxproj:
19674        * rendering/RenderEmbeddedObject.cpp:
19675        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
19676        (WebCore::RenderEmbeddedObject::requiresLayer):
19677        (WebCore::RenderEmbeddedObject::paint):
19678        (WebCore::RenderEmbeddedObject::viewCleared):
19679        * rendering/RenderEmbeddedObject.h:
19680        * rendering/RenderFrameBase.h:
19681        * rendering/RenderPart.cpp:
19682        (WebCore::RenderPart::RenderPart):
19683        * rendering/RenderPart.h:
19684        * rendering/RenderPartObject.cpp: Removed.
19685        * rendering/RenderPartObject.h: Removed.
19686
196872010-04-20  Robin Cao  <robin.webkit@gmail.com>
19688
19689        Reviewed by Dirk Schulze.
19690
19691        SVG no AnimateColor for stroke or fill if they are set to none on target.
19692        https://bugs.webkit.org/show_bug.cgi?id=36718
19693
19694        SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
19695        This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case 
19696        the property type determined by base value may be different from the one determined by 'fromTo' values.
19697
19698        No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
19699        Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
19700
19701        * svg/SVGAnimateElement.cpp:
19702        (WebCore::SVGAnimateElement::calculateFromAndToValues):
19703        (WebCore::SVGAnimateElement::resetToBaseValue):
19704
197052010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19706
19707        Unreviewed, rolling out r57892.
19708        http://trac.webkit.org/changeset/57892
19709        https://bugs.webkit.org/show_bug.cgi?id=37864
19710
19711        Caused an assertion in Mac builds (Requested by smfr on
19712        #webkit).
19713
19714        * WebCore.xcodeproj/project.pbxproj:
19715        * editing/Editor.cpp:
19716        (WebCore::Editor::insideVisibleArea):
19717        * page/Frame.cpp:
19718        (WebCore::Frame::ownerRenderer):
19719        * page/Frame.h:
19720        * page/FrameView.cpp:
19721        (WebCore::FrameView::~FrameView):
19722        (WebCore::FrameView::clear):
19723        (WebCore::FrameView::invalidateRect):
19724        (WebCore::FrameView::createScrollbar):
19725        * rendering/RenderFrameBase.h:
19726        * rendering/RenderObject.h:
19727
197282010-04-20  Jakub Wieczorek  <jwieczorek@webkit.org>
19729
19730        Reviewed by Darin Adler.
19731
19732        RenderListItem: change enclosingList() to only traverse the render tree.
19733        https://bugs.webkit.org/show_bug.cgi?id=37319
19734
19735        This makes the function safe to use for items with nodes that are detached from
19736        the DOM tree and simplifies the code quite a bit.
19737
19738        Covered by existing tests.
19739
19740        * rendering/RenderListItem.cpp:
19741        (WebCore::enclosingList):
19742        (WebCore::previousListItem):
19743        (WebCore::RenderListItem::explicitValueChanged):
19744
197452010-04-20  Simon Fraser  <simon.fraser@apple.com>
19746
19747        Reviewed by Dan Bernstein.
19748
19749        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
19750        https://bugs.webkit.org/show_bug.cgi?id=37741
19751
19752        Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
19753        RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
19754
19755        * WebCore.xcodeproj/project.pbxproj:
19756        * editing/Editor.cpp:
19757        (WebCore::Editor::insideVisibleArea):
19758        * page/Frame.cpp:
19759        (WebCore::Frame::ownerRenderer):
19760        * page/Frame.h:
19761        * page/FrameView.cpp:
19762        (WebCore::FrameView::~FrameView):
19763        (WebCore::FrameView::clear):
19764        (WebCore::FrameView::invalidateRect):
19765        (WebCore::FrameView::createScrollbar):
19766        * rendering/RenderFrameBase.h:
19767        (WebCore::RenderFrameBase::isRenderFrameBase):
19768        (WebCore::toRenderFrameBase):
19769        * rendering/RenderObject.h:
19770        (WebCore::RenderObject::isRenderFrameBase):
19771
197722010-04-20  Jay Civelli  <jcivelli@chromium.org>
19773
19774        Reviewed by Dimitri Glazkov.
19775
19776        [chromium] Pressing tab now closes the select popup as it should.
19777        https://bugs.webkit.org/show_bug.cgi?id=37721
19778
19779        * platform/chromium/PopupMenuChromium.cpp:
19780        (WebCore::PopupListBox::handleKeyEvent):
19781
197822010-04-20  Yaar Schnitman  <yaar@chromium.org>
19783
19784        Reviewed by Nate Chapin.
19785
19786        Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
19787        https://bugs.webkit.org/show_bug.cgi?id=37810
19788
19789        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
19790        (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
19791        * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
19792        * bindings/v8/test/V8TestObj.cpp:
19793        (WebCore::TestObjInternal::overloadedMethodCallback):
19794        * html/canvas/CanvasRenderingContext2D.cpp:
19795        (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
19796        (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
19797        * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
19798        * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
19799
198002010-04-20  Evan Stade  <estade@chromium.org>
19801
19802        Reviewed by David Levin.
19803
19804        [chromium] crash when dragging images
19805        https://bugs.webkit.org/show_bug.cgi?id=37715
19806
19807        NULL check the return value of nativeImageForCurrentFrame(),
19808        and NULL check Image just for good measure.
19809
19810        Tested by new DragImageTest unit test.
19811
19812        * platform/chromium/DragImageChromiumSkia.cpp:
19813        (WebCore::createDragImageFromImage):
19814
198152010-04-20  Dirk Schulze  <krit@webkit.org>
19816
19817        Reviewed by Nikolas Zimmermann.
19818
19819        SVGResourceFilter needs to be moved to under Renderers
19820        https://bugs.webkit.org/show_bug.cgi?id=35320
19821
19822        This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
19823        from the SVGResources.
19824        A clean-up solves the dependencies between SVGFilterElement, the filter primitives
19825        and SVGResources. This shall make the filter code more readable and better maintable.
19826        The Filter primitives get dumped now, as long as they have externalRepresentation
19827        implemented.
19828
19829        No behavior changes, so no new tests were added.
19830
19831        * Android.mk:
19832        * GNUmakefile.am:
19833        * WebCore.gypi:
19834        * WebCore.pro:
19835        * WebCore.vcproj/WebCore.vcproj:
19836        * WebCore.xcodeproj/project.pbxproj:
19837        * rendering/RenderPath.cpp:
19838        (WebCore::RenderPath::paint):
19839        * rendering/RenderSVGContainer.cpp:
19840        (WebCore::RenderSVGContainer::selfWillPaint):
19841        (WebCore::RenderSVGContainer::paint):
19842        * rendering/RenderSVGImage.cpp:
19843        (WebCore::RenderSVGImage::paint):
19844        * rendering/RenderSVGResource.h:
19845        (WebCore::):
19846        (WebCore::RenderSVGResource::postApplyResource):
19847        * rendering/RenderSVGResourceClipper.cpp:
19848        (WebCore::RenderSVGResourceClipper::applyResource):
19849        * rendering/RenderSVGResourceClipper.h:
19850        * rendering/RenderSVGResourceFilter.cpp: Added.
19851        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
19852        (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
19853        (WebCore::RenderSVGResourceFilter::invalidateClients):
19854        (WebCore::RenderSVGResourceFilter::invalidateClient):
19855        (WebCore::RenderSVGResourceFilter::buildPrimitives):
19856        (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
19857        (WebCore::RenderSVGResourceFilter::applyResource):
19858        (WebCore::RenderSVGResourceFilter::postApplyResource):
19859        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
19860        * rendering/RenderSVGResourceFilter.h: Added.
19861        (WebCore::FilterData::FilterData):
19862        (WebCore::RenderSVGResourceFilter::renderName):
19863        (WebCore::RenderSVGResourceFilter::filterUnits):
19864        (WebCore::RenderSVGResourceFilter::primitiveUnits):
19865        (WebCore::RenderSVGResourceFilter::resourceType):
19866        * rendering/RenderSVGResourceMarker.h:
19867        (WebCore::RenderSVGResourceMarker::applyResource):
19868        * rendering/RenderSVGResourceMasker.cpp:
19869        (WebCore::RenderSVGResourceMasker::applyResource):
19870        * rendering/RenderSVGResourceMasker.h:
19871        * rendering/RenderSVGRoot.cpp:
19872        (WebCore::RenderSVGRoot::selfWillPaint):
19873        (WebCore::RenderSVGRoot::paint):
19874        * rendering/RenderSVGText.cpp:
19875        * rendering/SVGRenderSupport.cpp:
19876        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19877        (WebCore::SVGRenderBase::finishRenderSVGContent):
19878        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
19879        (WebCore::deregisterFromResources):
19880        * rendering/SVGRenderSupport.h:
19881        * rendering/SVGRenderTreeAsText.cpp:
19882        (WebCore::writeStyle):
19883        (WebCore::writeSVGResource):
19884        (WebCore::writeResources):
19885        (WebCore::writeRenderResources):
19886        * rendering/SVGRootInlineBox.cpp:
19887        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
19888        (WebCore::SVGRootInlineBox::paint):
19889        * svg/SVGFEBlendElement.cpp:
19890        (WebCore::SVGFEBlendElement::build):
19891        * svg/SVGFEBlendElement.h:
19892        * svg/SVGFEColorMatrixElement.cpp:
19893        (WebCore::SVGFEColorMatrixElement::build):
19894        * svg/SVGFEColorMatrixElement.h:
19895        * svg/SVGFEComponentTransferElement.cpp:
19896        (WebCore::SVGFEComponentTransferElement::build):
19897        * svg/SVGFEComponentTransferElement.h:
19898        * svg/SVGFECompositeElement.cpp:
19899        (WebCore::SVGFECompositeElement::build):
19900        * svg/SVGFECompositeElement.h:
19901        * svg/SVGFEDiffuseLightingElement.cpp:
19902        (WebCore::SVGFEDiffuseLightingElement::build):
19903        * svg/SVGFEDiffuseLightingElement.h:
19904        * svg/SVGFEDisplacementMapElement.cpp:
19905        (WebCore::SVGFEDisplacementMapElement::build):
19906        * svg/SVGFEDisplacementMapElement.h:
19907        * svg/SVGFEFloodElement.cpp:
19908        (WebCore::SVGFEFloodElement::build):
19909        * svg/SVGFEFloodElement.h:
19910        * svg/SVGFEGaussianBlurElement.cpp:
19911        (WebCore::SVGFEGaussianBlurElement::build):
19912        * svg/SVGFEGaussianBlurElement.h:
19913        * svg/SVGFEImageElement.cpp:
19914        (WebCore::SVGFEImageElement::build):
19915        * svg/SVGFEImageElement.h:
19916        * svg/SVGFEMergeElement.cpp:
19917        (WebCore::SVGFEMergeElement::build):
19918        * svg/SVGFEMergeElement.h:
19919        * svg/SVGFEMorphologyElement.cpp:
19920        (WebCore::SVGFEMorphologyElement::build):
19921        * svg/SVGFEMorphologyElement.h:
19922        * svg/SVGFEOffsetElement.cpp:
19923        (WebCore::SVGFEOffsetElement::build):
19924        * svg/SVGFEOffsetElement.h:
19925        * svg/SVGFESpecularLightingElement.cpp:
19926        (WebCore::SVGFESpecularLightingElement::build):
19927        * svg/SVGFESpecularLightingElement.h:
19928        * svg/SVGFETileElement.cpp:
19929        (WebCore::SVGFETileElement::build):
19930        * svg/SVGFETileElement.h:
19931        * svg/SVGFETurbulenceElement.cpp:
19932        (WebCore::SVGFETurbulenceElement::build):
19933        * svg/SVGFETurbulenceElement.h:
19934        (WebCore::):
19935        * svg/SVGFilterElement.cpp:
19936        (WebCore::SVGFilterElement::createRenderer):
19937        * svg/SVGFilterElement.h:
19938        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
19939        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
19940        * svg/SVGFilterPrimitiveStandardAttributes.h:
19941        (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
19942        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
19943        * svg/SVGStyledElement.cpp:
19944        (WebCore::SVGStyledElement::invalidateResources):
19945        * svg/graphics/SVGResource.cpp:
19946        * svg/graphics/SVGResource.h:
19947        (WebCore::):
19948        (WebCore::SVGResource::isPaintServer):
19949        * svg/graphics/SVGResourceFilter.cpp: Removed.
19950        * svg/graphics/SVGResourceFilter.h: Removed.
19951        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
19952        (WebCore::FEDisplacementMap::externalRepresentation):
19953        * svg/graphics/filters/SVGFilterBuilder.h:
19954        (WebCore::SVGFilterBuilder::namedEffects):
19955
199562010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
19957
19958        Unreviewed, rolling out r57880.
19959        http://trac.webkit.org/changeset/57880
19960        https://bugs.webkit.org/show_bug.cgi?id=37846
19961
19962        Broke several bots, FEDisplacmentMap dumps includes pointers,
19963        no one noticed. Dirk will upload a new patch later. (Requested
19964        by WildFox on #webkit).
19965
19966        * Android.mk:
19967        * GNUmakefile.am:
19968        * WebCore.gypi:
19969        * WebCore.pro:
19970        * WebCore.vcproj/WebCore.vcproj:
19971        * WebCore.xcodeproj/project.pbxproj:
19972        * rendering/RenderPath.cpp:
19973        (WebCore::RenderPath::paint):
19974        * rendering/RenderSVGContainer.cpp:
19975        (WebCore::RenderSVGContainer::selfWillPaint):
19976        (WebCore::RenderSVGContainer::paint):
19977        * rendering/RenderSVGImage.cpp:
19978        (WebCore::RenderSVGImage::paint):
19979        * rendering/RenderSVGResource.h:
19980        (WebCore::):
19981        * rendering/RenderSVGResourceClipper.cpp:
19982        (WebCore::RenderSVGResourceClipper::applyResource):
19983        * rendering/RenderSVGResourceClipper.h:
19984        * rendering/RenderSVGResourceFilter.cpp: Removed.
19985        * rendering/RenderSVGResourceFilter.h: Removed.
19986        * rendering/RenderSVGResourceMarker.h:
19987        (WebCore::RenderSVGResourceMarker::applyResource):
19988        * rendering/RenderSVGResourceMasker.cpp:
19989        (WebCore::RenderSVGResourceMasker::applyResource):
19990        * rendering/RenderSVGResourceMasker.h:
19991        * rendering/RenderSVGRoot.cpp:
19992        (WebCore::RenderSVGRoot::selfWillPaint):
19993        (WebCore::RenderSVGRoot::paint):
19994        * rendering/RenderSVGText.cpp:
19995        * rendering/SVGRenderSupport.cpp:
19996        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19997        (WebCore::SVGRenderBase::finishRenderSVGContent):
19998        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
19999        (WebCore::deregisterFromResources):
20000        * rendering/SVGRenderSupport.h:
20001        * rendering/SVGRenderTreeAsText.cpp:
20002        (WebCore::writeStyle):
20003        (WebCore::writeSVGResource):
20004        (WebCore::writeResources):
20005        (WebCore::writeRenderResources):
20006        * rendering/SVGRootInlineBox.cpp:
20007        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
20008        (WebCore::SVGRootInlineBox::paint):
20009        * svg/SVGFEBlendElement.cpp:
20010        (WebCore::SVGFEBlendElement::build):
20011        * svg/SVGFEBlendElement.h:
20012        * svg/SVGFEColorMatrixElement.cpp:
20013        (WebCore::SVGFEColorMatrixElement::build):
20014        * svg/SVGFEColorMatrixElement.h:
20015        * svg/SVGFEComponentTransferElement.cpp:
20016        (WebCore::SVGFEComponentTransferElement::build):
20017        * svg/SVGFEComponentTransferElement.h:
20018        * svg/SVGFECompositeElement.cpp:
20019        (WebCore::SVGFECompositeElement::build):
20020        * svg/SVGFECompositeElement.h:
20021        * svg/SVGFEDiffuseLightingElement.cpp:
20022        (WebCore::SVGFEDiffuseLightingElement::build):
20023        * svg/SVGFEDiffuseLightingElement.h:
20024        * svg/SVGFEDisplacementMapElement.cpp:
20025        (WebCore::SVGFEDisplacementMapElement::build):
20026        * svg/SVGFEDisplacementMapElement.h:
20027        * svg/SVGFEFloodElement.cpp:
20028        (WebCore::SVGFEFloodElement::build):
20029        * svg/SVGFEFloodElement.h:
20030        * svg/SVGFEGaussianBlurElement.cpp:
20031        (WebCore::SVGFEGaussianBlurElement::build):
20032        * svg/SVGFEGaussianBlurElement.h:
20033        * svg/SVGFEImageElement.cpp:
20034        (WebCore::SVGFEImageElement::build):
20035        * svg/SVGFEImageElement.h:
20036        * svg/SVGFEMergeElement.cpp:
20037        (WebCore::SVGFEMergeElement::build):
20038        * svg/SVGFEMergeElement.h:
20039        * svg/SVGFEMorphologyElement.cpp:
20040        (WebCore::SVGFEMorphologyElement::build):
20041        * svg/SVGFEMorphologyElement.h:
20042        * svg/SVGFEOffsetElement.cpp:
20043        (WebCore::SVGFEOffsetElement::build):
20044        * svg/SVGFEOffsetElement.h:
20045        * svg/SVGFESpecularLightingElement.cpp:
20046        (WebCore::SVGFESpecularLightingElement::build):
20047        * svg/SVGFESpecularLightingElement.h:
20048        * svg/SVGFETileElement.cpp:
20049        (WebCore::SVGFETileElement::build):
20050        * svg/SVGFETileElement.h:
20051        * svg/SVGFETurbulenceElement.cpp:
20052        (WebCore::SVGFETurbulenceElement::build):
20053        * svg/SVGFETurbulenceElement.h:
20054        (WebCore::):
20055        * svg/SVGFilterElement.cpp:
20056        (WebCore::SVGFilterElement::buildFilter):
20057        (WebCore::SVGFilterElement::canvasResource):
20058        * svg/SVGFilterElement.h:
20059        (WebCore::SVGFilterElement::rendererIsNeeded):
20060        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
20061        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
20062        * svg/SVGFilterPrimitiveStandardAttributes.h:
20063        (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
20064        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
20065        * svg/SVGStyledElement.cpp:
20066        (WebCore::SVGStyledElement::invalidateResources):
20067        * svg/graphics/SVGResource.cpp:
20068        * svg/graphics/SVGResource.h:
20069        (WebCore::):
20070        (WebCore::SVGResource::isFilter):
20071        * svg/graphics/SVGResourceFilter.cpp: Added.
20072        (WebCore::SVGResourceFilter::SVGResourceFilter):
20073        (WebCore::SVGResourceFilter::~SVGResourceFilter):
20074        (WebCore::SVGResourceFilter::filterBoundingBox):
20075        (WebCore::shouldProcessFilter):
20076        (WebCore::SVGResourceFilter::addFilterEffect):
20077        (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
20078        (WebCore::SVGResourceFilter::prepareFilter):
20079        (WebCore::SVGResourceFilter::applyFilter):
20080        (WebCore::SVGResourceFilter::externalRepresentation):
20081        (WebCore::getFilterById):
20082        * svg/graphics/SVGResourceFilter.h: Added.
20083        (WebCore::SVGResourceFilter::create):
20084        (WebCore::SVGResourceFilter::resourceType):
20085        (WebCore::SVGResourceFilter::setFilterResolution):
20086        (WebCore::SVGResourceFilter::setHasFilterResolution):
20087        (WebCore::SVGResourceFilter::filterBoundingBoxMode):
20088        (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
20089        (WebCore::SVGResourceFilter::effectBoundingBoxMode):
20090        (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
20091        (WebCore::SVGResourceFilter::filterRect):
20092        (WebCore::SVGResourceFilter::setFilterRect):
20093        (WebCore::SVGResourceFilter::scaleX):
20094        (WebCore::SVGResourceFilter::scaleY):
20095        (WebCore::SVGResourceFilter::setFilterBoundingBox):
20096        (WebCore::SVGResourceFilter::builder):
20097        * svg/graphics/filters/SVGFilterBuilder.h:
20098
200992010-04-20  Dirk Schulze  <krit@webkit.org>
20100
20101        Reviewed by Nikolas Zimmermann.
20102
20103        SVGResourceFilter needs to be moved to under Renderers
20104        https://bugs.webkit.org/show_bug.cgi?id=35320
20105
20106        This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
20107        from the SVGResources.
20108        A clean-up solves the dependencies between SVGFilterElement, the filter primitives
20109        and SVGResources. This shall make the filter code more readable and better maintable.
20110        The Filter primitives get dumped now, as long as they have externalRepresentation
20111        implemented.
20112
20113        No behavior changes, so no new tests were added.
20114
20115        * Android.mk:
20116        * GNUmakefile.am:
20117        * WebCore.gypi:
20118        * WebCore.pro:
20119        * WebCore.vcproj/WebCore.vcproj:
20120        * WebCore.xcodeproj/project.pbxproj:
20121        * rendering/RenderPath.cpp:
20122        (WebCore::RenderPath::paint):
20123        * rendering/RenderSVGContainer.cpp:
20124        (WebCore::RenderSVGContainer::selfWillPaint):
20125        (WebCore::RenderSVGContainer::paint):
20126        * rendering/RenderSVGImage.cpp:
20127        (WebCore::RenderSVGImage::paint):
20128        * rendering/RenderSVGResource.h:
20129        (WebCore::):
20130        * rendering/RenderSVGResourceClipper.cpp:
20131        (WebCore::RenderSVGResourceClipper::applyResource):
20132        * rendering/RenderSVGResourceClipper.h:
20133        * rendering/RenderSVGResourceFilter.cpp: Added.
20134        (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
20135        (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
20136        (WebCore::RenderSVGResourceFilter::invalidateClients):
20137        (WebCore::RenderSVGResourceFilter::invalidateClient):
20138        (WebCore::RenderSVGResourceFilter::buildPrimitives):
20139        (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
20140        (WebCore::RenderSVGResourceFilter::applyResource):
20141        (WebCore::RenderSVGResourceFilter::postApplyResource):
20142        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
20143        * rendering/RenderSVGResourceFilter.h: Added.
20144        (WebCore::FilterData::FilterData):
20145        (WebCore::RenderSVGResourceFilter::renderName):
20146        (WebCore::RenderSVGResourceFilter::filterUnits):
20147        (WebCore::RenderSVGResourceFilter::primitiveUnits):
20148        (WebCore::RenderSVGResourceFilter::resourceType):
20149        * rendering/RenderSVGResourceMarker.h:
20150        (WebCore::RenderSVGResourceMarker::applyResource):
20151        * rendering/RenderSVGResourceMasker.cpp:
20152        (WebCore::RenderSVGResourceMasker::applyResource):
20153        * rendering/RenderSVGResourceMasker.h:
20154        * rendering/RenderSVGRoot.cpp:
20155        (WebCore::RenderSVGRoot::selfWillPaint):
20156        (WebCore::RenderSVGRoot::paint):
20157        * rendering/RenderSVGText.cpp:
20158        * rendering/SVGRenderSupport.cpp:
20159        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
20160        (WebCore::SVGRenderBase::finishRenderSVGContent):
20161        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
20162        (WebCore::deregisterFromResources):
20163        * rendering/SVGRenderSupport.h:
20164        * rendering/SVGRenderTreeAsText.cpp:
20165        (WebCore::writeStyle):
20166        (WebCore::writeSVGResource):
20167        (WebCore::writeResources):
20168        (WebCore::writeRenderResources):
20169        * rendering/SVGRootInlineBox.cpp:
20170        (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
20171        (WebCore::SVGRootInlineBox::paint):
20172        * svg/SVGFEBlendElement.cpp:
20173        (WebCore::SVGFEBlendElement::build):
20174        * svg/SVGFEBlendElement.h:
20175        * svg/SVGFEColorMatrixElement.cpp:
20176        (WebCore::SVGFEColorMatrixElement::build):
20177        * svg/SVGFEColorMatrixElement.h:
20178        * svg/SVGFEComponentTransferElement.cpp:
20179        (WebCore::SVGFEComponentTransferElement::build):
20180        * svg/SVGFEComponentTransferElement.h:
20181        * svg/SVGFECompositeElement.cpp:
20182        (WebCore::SVGFECompositeElement::build):
20183        * svg/SVGFECompositeElement.h:
20184        * svg/SVGFEDiffuseLightingElement.cpp:
20185        (WebCore::SVGFEDiffuseLightingElement::build):
20186        * svg/SVGFEDiffuseLightingElement.h:
20187        * svg/SVGFEDisplacementMapElement.cpp:
20188        (WebCore::SVGFEDisplacementMapElement::build):
20189        * svg/SVGFEDisplacementMapElement.h:
20190        * svg/SVGFEFloodElement.cpp:
20191        (WebCore::SVGFEFloodElement::build):
20192        * svg/SVGFEFloodElement.h:
20193        * svg/SVGFEGaussianBlurElement.cpp:
20194        (WebCore::SVGFEGaussianBlurElement::build):
20195        * svg/SVGFEGaussianBlurElement.h:
20196        * svg/SVGFEImageElement.cpp:
20197        (WebCore::SVGFEImageElement::build):
20198        * svg/SVGFEImageElement.h:
20199        * svg/SVGFEMergeElement.cpp:
20200        (WebCore::SVGFEMergeElement::build):
20201        * svg/SVGFEMergeElement.h:
20202        * svg/SVGFEMorphologyElement.cpp:
20203        (WebCore::SVGFEMorphologyElement::build):
20204        * svg/SVGFEMorphologyElement.h:
20205        * svg/SVGFEOffsetElement.cpp:
20206        (WebCore::SVGFEOffsetElement::build):
20207        * svg/SVGFEOffsetElement.h:
20208        * svg/SVGFESpecularLightingElement.cpp:
20209        (WebCore::SVGFESpecularLightingElement::build):
20210        * svg/SVGFESpecularLightingElement.h:
20211        * svg/SVGFETileElement.cpp:
20212        (WebCore::SVGFETileElement::build):
20213        * svg/SVGFETileElement.h:
20214        * svg/SVGFETurbulenceElement.cpp:
20215        (WebCore::SVGFETurbulenceElement::build):
20216        * svg/SVGFETurbulenceElement.h:
20217        (WebCore::):
20218        * svg/SVGFilterElement.cpp:
20219        (WebCore::SVGFilterElement::createRenderer):
20220        * svg/SVGFilterElement.h:
20221        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
20222        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
20223        * svg/SVGFilterPrimitiveStandardAttributes.h:
20224        (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
20225        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
20226        * svg/SVGStyledElement.cpp:
20227        (WebCore::SVGStyledElement::invalidateResources):
20228        * svg/graphics/SVGResource.cpp:
20229        * svg/graphics/SVGResource.h:
20230        (WebCore::):
20231        (WebCore::SVGResource::isPaintServer):
20232        * svg/graphics/SVGResourceFilter.cpp: Removed.
20233        * svg/graphics/SVGResourceFilter.h: Removed.
20234        * svg/graphics/filters/SVGFilterBuilder.h:
20235        (WebCore::SVGFilterBuilder::namedEffects):
20236
202372010-04-20  Gavin Barraclough  <barraclough@apple.com>
20238
20239        Rubber stamped by Maciej Stachowiak (relanding r57829).
20240        Added missing JS_EXPORTDATA
20241
20242        * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
20243        * platform/ThreadGlobalData.cpp:
20244        (WebCore::ThreadGlobalData::ThreadGlobalData):
20245        (WebCore::ThreadGlobalData::~ThreadGlobalData):
20246        * platform/ThreadGlobalData.h:
20247        (WebCore::ThreadGlobalData::eventNames):
20248        * platform/text/AtomicString.cpp:
20249        (WebCore::AtomicStringTable::create):
20250        (WebCore::AtomicStringTable::table):
20251        (WebCore::AtomicStringTable::destroy):
20252        (WebCore::stringTable):
20253
202542010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
20255
20256        Reviewed by Antti Koivisto.
20257
20258        [Qt] GraphicsLayer: support fill-modes
20259        https://bugs.webkit.org/show_bug.cgi?id=36216
20260        Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
20261        enables a key-frame animation to go to the animation's starting point before the delay,
20262        and/or to stay at the animation's ending point after its ended, without reverting to the default
20263        value.
20264        We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
20265        and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
20266
20267        * platform/graphics/qt/GraphicsLayerQt.cpp:
20268        (WebCore::AnimationQtBase::AnimationQtBase):
20269        (WebCore::TransformAnimationQt::~TransformAnimationQt):
20270        (WebCore::TransformAnimationQt::applyFrame):
20271        (WebCore::GraphicsLayerQt::addAnimation):
20272
202732010-04-19  Leandro Pereira  <leandro@profusion.mobi>
20274
20275        Reviewed by David Hyatt.
20276
20277        Add missing dummy implementations in PluginPackageNone and PluginViewNone.
20278        http://webkit.org/b/37478
20279
20280        * plugins/PluginPackageNone.cpp:
20281        (WebCore::PluginPackage::NPVersion): Add dummy implementation.
20282        * plugins/PluginViewNone.cpp:
20283        (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
20284        (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
20285
202862010-04-19  Simon Fraser  <simon.fraser@apple.com>
20287
20288        Reviewed by Geoff Garen.
20289
20290        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20291        https://bugs.webkit.org/show_bug.cgi?id=37741
20292
20293        Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
20294        since it's only used for <object> fallback.
20295
20296        * rendering/RenderEmbeddedObject.cpp:
20297        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
20298        * rendering/RenderEmbeddedObject.h:
20299        (WebCore::RenderEmbeddedObject::hasFallbackContent):
20300        * rendering/RenderPart.cpp:
20301        (WebCore::RenderPart::RenderPart):
20302        * rendering/RenderPart.h:
20303
203042010-04-19  Simon Fraser  <simon.fraser@apple.com>
20305
20306        Reviewed by Darin Adler.
20307
20308        Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
20309        https://bugs.webkit.org/show_bug.cgi?id=37741
20310
20311        Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
20312        between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
20313        and move code from RenderPart and RenderPartObject into these new classes.
20314        
20315        There should be no functionality difference with this change, so no new tests.
20316        
20317        Fixing up renderer names in the layout tests will be done in a later pass.
20318        
20319        Fix build systems to include the new files.
20320        
20321        * Android.mk:
20322        * GNUmakefile.am:
20323        * WebCore.gypi:
20324        * WebCore.pro:
20325        * WebCore.vcproj/WebCore.vcproj:
20326        * WebCore.xcodeproj/project.pbxproj:
20327        * html/HTMLIFrameElement.cpp:
20328        (WebCore::HTMLIFrameElement::createRenderer):
20329        * rendering/RenderEmbeddedObject.h:
20330        * rendering/RenderFrame.cpp:
20331        (WebCore::RenderFrame::RenderFrame):
20332        * rendering/RenderFrame.h:
20333        * rendering/RenderFrameBase.cpp: Added.
20334        (WebCore::RenderFrameBase::RenderFrameBase):
20335        (WebCore::RenderFrameBase::layoutWithFlattening):
20336        * rendering/RenderFrameBase.h: Added.
20337        * rendering/RenderIFrame.cpp: Added.
20338        (WebCore::RenderIFrame::RenderIFrame):
20339        (WebCore::RenderIFrame::calcHeight):
20340        (WebCore::RenderIFrame::calcWidth):
20341        (WebCore::RenderIFrame::flattenFrame):
20342        (WebCore::RenderIFrame::layout):
20343        * rendering/RenderIFrame.h: Added.
20344        (WebCore::RenderIFrame::renderName):
20345        * rendering/RenderPart.cpp:
20346        * rendering/RenderPart.h:
20347        * rendering/RenderPartObject.cpp:
20348        * rendering/RenderPartObject.h:
20349
203502010-04-19  Dumitru Daniliuc  <dumi@chromium.org>
20351
20352        Reviewed by Geoffrey Garen.
20353
20354        Bindings clean-up.
20355        https://bugs.webkit.org/show_bug.cgi?id=37833
20356
20357        Move some WebSQLDatabases logic out of the bindings into
20358        DOMWindow.cpp where it should be.
20359
20360        * bindings/js/JSDOMWindowCustom.cpp:
20361        (WebCore::JSDOMWindow::openDatabase):
20362        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20363        (WebCore::V8DOMWindow::openDatabaseCallback):
20364        * page/DOMWindow.cpp:
20365        (WebCore::DOMWindow::openDatabase):
20366
203672010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
20368
20369        Fix the Mac builders for now by restoring the keepAlive function.
20370
20371        * plugins/PluginViewNone.cpp:
20372        (WebCore::PluginView::keepAlive):
20373
203742010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
20375
20376        [wx] Build fix, remove a method that has been moved to PluginView.cpp.
20377
20378        * plugins/PluginViewNone.cpp:
20379
203802010-04-19  Gavin Barraclough  <barraclough@apple.com>
20381
20382        Reviewed by NOBODY (rolling out r57829).
20383        This broke windows.
20384
20385        * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
20386        * platform/ThreadGlobalData.cpp:
20387        (WebCore::ThreadGlobalData::ThreadGlobalData):
20388        (WebCore::ThreadGlobalData::~ThreadGlobalData):
20389        * platform/ThreadGlobalData.h:
20390        (WebCore::ThreadGlobalData::atomicStringTable):
20391        * platform/text/AtomicString.cpp:
20392        (WebCore::stringTable):
20393
203942010-04-19  Mark Rowe  <mrowe@apple.com>
20395
20396        Build fix.
20397
20398        * platform/graphics/mac/GraphicsContext3DMac.cpp:
20399
204002010-04-19  Chris Fleizach  <cfleizach@apple.com>
20401
20402        Reviewed by Beth Dakin.
20403
20404        AX: aria-haspopup needs to be exposed
20405        https://bugs.webkit.org/show_bug.cgi?id=37808
20406
20407        Test: platform/mac/accessibility/element-haspopup.html
20408
20409        * accessibility/AccessibilityObject.h:
20410        (WebCore::AccessibilityObject::ariaHasPopup):
20411        * accessibility/AccessibilityRenderObject.cpp:
20412        (WebCore::AccessibilityRenderObject::ariaHasPopup):
20413        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
20414        * accessibility/AccessibilityRenderObject.h:
20415        * accessibility/mac/AccessibilityObjectWrapper.mm:
20416        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
20417        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20418
204192010-04-19  Anders Carlsson  <andersca@apple.com>
20420
20421        Reviewed by Sam Weinig.
20422
20423        Fix a crash when rendering <select> elements with WebKit2.
20424
20425        * rendering/RenderThemeMac.mm:
20426        (WebCore::RenderThemeMac::paintMenuList):
20427        Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
20428        could point to a CGContext whose memory has been freed.
20429
204302010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
20431
20432        Reviewed by Darin Adler.
20433
20434        Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
20435        https://bugs.webkit.org/show_bug.cgi?id=36031
20436
20437        Changes the logic of appending/inserting document fragment to first stashing all of its children
20438        to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
20439        events mucking with the document fragment while it's being appended/inserted.
20440
20441        Test: fast/dom/Node/fragment-mutation.html
20442
20443        * dom/ContainerNode.cpp:
20444        (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
20445            inserting/appending operation.
20446        (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
20447        (WebCore::ContainerNode::appendChild): Ditto.
20448        * dom/Node.cpp:
20449        (WebCore::Node::checkReplaceChild): Cleaned up comments.
20450        (WebCore::Node::checkAddChild): Ditto.
20451
204522010-04-19  Eric Carlson  <eric.carlson@apple.com>
20453
20454        Reviewed by Simon Fraser.
20455
20456        Fix regression introduced in r57820.
20457
20458        * html/HTMLMediaElement.cpp:
20459        (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
20460        just setting a URL on the one used for the previous <source> element. This restores
20461        the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
20462
204632010-04-19  Gavin Barraclough  <barraclough@apple.com>
20464
20465        Reviewed by Sam Weinig.
20466
20467        https://bugs.webkit.org/show_bug.cgi?id=37745
20468        Move string uniquing tables to (new) WTFThreadData class.
20469
20470        Remove AtomicString's dependency on ThreadGlobalData so that we can move
20471        WebCore's string classes up to WTF.
20472
20473        * ForwardingHeaders/wtf/WTFThreadData.h: Added.
20474        * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
20475        (WebCore::ThreadGlobalData::ThreadGlobalData):
20476        (WebCore::ThreadGlobalData::~ThreadGlobalData):
20477        * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
20478        (WebCore::ThreadGlobalData::eventNames):
20479        * platform/text/AtomicString.cpp:
20480        (WebCore::AtomicStringTable::create):
20481        (WebCore::AtomicStringTable::table):
20482        (WebCore::AtomicStringTable::destroy):
20483        (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
20484
204852010-04-19  Ada Chan  <adachan@apple.com>
20486
20487        Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
20488        in #if ENABLE(DOM_STORAGE).
20489
20490        * page/Settings.cpp:
20491        (WebCore::Settings::Settings):
20492        * page/Settings.h:
20493
204942010-04-19  Dave Moore  <davemoore@chromium.org>
20495
20496        Reviewed by Dimitri Glazkov.
20497
20498        Added notification when the favicons for a page are changed
20499        from a script.
20500        The Document object will notify the frame loader, which will
20501        notify the client. Implementations of FrameLoaderClient will
20502        have to add one method; dispatchDidChangeIcons().
20503
20504        https://bugs.webkit.org/show_bug.cgi?id=33812
20505
20506        Test: fast/dom/icon-url-property.html
20507
20508        * dom/Document.cpp:
20509        (WebCore::Document::setIconURL):
20510        * loader/DocumentLoader.cpp:
20511        (WebCore::DocumentLoader::setIconURL):
20512        * loader/DocumentLoader.h:
20513        (WebCore::DocumentLoader::iconURL):
20514        * loader/EmptyClients.h:
20515        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
20516        * loader/FrameLoader.cpp:
20517        (WebCore::FrameLoader::setIconURL):
20518        (WebCore::FrameLoader::didChangeIcons):
20519        * loader/FrameLoader.h:
20520        * loader/FrameLoaderClient.h:
20521
205222010-04-19  Ada Chan  <adachan@apple.com>
20523
20524        Reviewed by Jeremy Orlow.
20525
20526        https://bugs.webkit.org/show_bug.cgi?id=37717
20527        Allow clients concerned with memory consumption to set a quota on session storage
20528        since the memory used won't be released until the Page is destroyed.
20529        The default is noQuota, which matches the current behavior.
20530
20531        * WebCore.base.exp: Export Settings::setSessionStorageQuota().
20532        * page/Page.cpp:
20533        (WebCore::Page::sessionStorage):
20534        * page/Settings.cpp:
20535        (WebCore::Settings::Settings):
20536        (WebCore::Settings::setSessionStorageQuota):
20537        * page/Settings.h:
20538        (WebCore::Settings::sessionStorageQuota):
20539        * storage/StorageNamespace.cpp:
20540        (WebCore::StorageNamespace::sessionStorageNamespace):
20541        * storage/StorageNamespace.h:
20542        * storage/StorageNamespaceImpl.cpp:
20543        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
20544        * storage/StorageNamespaceImpl.h:
20545
205462010-04-19  Eric Carlson  <eric.carlson@apple.com>
20547
20548        Reviewed by Simon Fraser.
20549
20550        Setting media element 'src' attribute should trigger immediate load
20551        https://bugs.webkit.org/show_bug.cgi?id=37728
20552
20553        * html/HTMLMediaElement.cpp:
20554        (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
20555        changes unless it is missing.
20556        (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
20557        (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
20558        (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
20559        so the previously loading file, if any, is cancelled there.
20560
205612010-04-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
20562
20563        Reviewed by Simon Hausmann.
20564
20565        [Qt] Fix compilation against namespaced Qt.
20566
20567        * platform/graphics/GraphicsLayer.h:
20568        * platform/graphics/Tile.h:
20569        * platform/graphics/qt/MediaPlayerPrivateQt.h:
20570        * platform/network/qt/NetworkStateNotifierPrivate.h:
20571
205722010-04-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
20573
20574        Reviewed by Kenneth Rohde Christiansen.
20575
20576        [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
20577
20578        To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
20579        has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
20580        We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
20581        into the SharedTimerQt instance.
20582
20583        https://bugs.webkit.org/show_bug.cgi?id=36832
20584
20585        No functional change so no new tests.
20586
20587        * platform/qt/SharedTimerQt.cpp:
20588        (WebCore::SharedTimerQt::SharedTimerQt):
20589        (WebCore::SharedTimerQt::destroy):
20590        (WebCore::SharedTimerQt::inst):
20591
205922010-04-19  Dan Bernstein  <mitz@apple.com>
20593
20594        Reviewed by Darin Adler.
20595
20596        Make the fix for <rdar://problem/7873647> from r57759 more robust.
20597
20598        * rendering/RenderLayer.cpp:
20599        (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
20600
206012010-04-19  Yury Semikhatsky  <yurys@chromium.org>
20602
20603        Unreviewed. Chromium build fix.
20604
20605        * bindings/v8/JavaScriptCallFrame.h:
20606
206072010-04-19  Yury Semikhatsky  <yurys@chromium.org>
20608
20609        Reviewed by Pavel Feldman.
20610
20611        Web Inspector: implement JavaScriptCallFrame that works for v8.
20612        Implementing this binding for v8 allows to make evaluations on
20613        call frames and protects access to the debugger context from
20614        inspected context.
20615
20616        https://bugs.webkit.org/show_bug.cgi?id=37755
20617
20618        * WebCore.gyp/WebCore.gyp:
20619        * WebCore.gypi:
20620        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
20621        (WebCore::JSJavaScriptCallFrame::scopeType):
20622        * bindings/v8/JavaScriptCallFrame.cpp: Added.
20623        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
20624        (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
20625        (WebCore::JavaScriptCallFrame::caller):
20626        (WebCore::JavaScriptCallFrame::sourceID):
20627        (WebCore::JavaScriptCallFrame::line):
20628        (WebCore::JavaScriptCallFrame::functionName):
20629        (WebCore::JavaScriptCallFrame::scopeChain):
20630        (WebCore::JavaScriptCallFrame::scopeType):
20631        (WebCore::JavaScriptCallFrame::thisObject):
20632        (WebCore::JavaScriptCallFrame::evaluate):
20633        * bindings/v8/JavaScriptCallFrame.h: Added.
20634        (WebCore::JavaScriptCallFrame::create):
20635        * bindings/v8/ScriptDebugServer.cpp:
20636        (WebCore::ScriptDebugServer::currentCallFrame):
20637        * bindings/v8/ScriptDebugServer.h:
20638        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
20639        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
20640        * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
20641        (WebCore::V8JavaScriptCallFrame::evaluateCallback):
20642        (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
20643        (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
20644        (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
20645        (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
20646        * inspector/JavaScriptCallFrame.idl:
20647        * inspector/front-end/InjectedScript.js:
20648        (injectedScriptConstructor.):
20649
206502010-04-19  Jessie Berlin  <jberlin@webkit.org>
20651
20652        Rubber Stamped by Adam Roben
20653
20654        Chromium Release Build Fix.
20655
20656        * css/CSSSelector.cpp:
20657        (WebCore::CSSSelector::pseudoId):
20658        In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
20659
206602010-04-19  Jessie Berlin  <jberlin@webkit.org>
20661
20662        Reviewed by Dave Hyatt.
20663
20664        First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
20665        https://bugs.webkit.org/show_bug.cgi?id=24021
20666
20667        Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
20668        This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
20669        Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
20670
20671        Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
20672
20673        * WebCore.base.exp:
20674        * css/CSSComputedStyleDeclaration.cpp:
20675        (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
20676        Parse the and store the pseudo-element specifier from the string provided by the user.
20677        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
20678        Get the computed style for the pseudo-element if it has been specified.
20679        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
20680        Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
20681        (WebCore::CSSComputedStyleDeclaration::length):
20682        Get the computed style for the pseudo-element if it has been specified.
20683        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
20684        Ditto.
20685        * css/CSSComputedStyleDeclaration.h:
20686        (WebCore::computedStyle):
20687        Take into consideration the pseudo-element.
20688
20689        * css/CSSSelector.cpp:
20690        (WebCore::CSSSelector::pseudoId):
20691        Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
20692        (WebCore::nameToPseudoTypeMap):
20693        Create and return the mapping between string names and PseudoTypes.
20694        (WebCore::CSSSelector::parsePseudoType):
20695        Parse and the given string into a PseudoType.
20696        (WebCore::CSSSelector::extractPseudoType):
20697        Refactored to use parsePseudoType.
20698        * css/CSSSelector.h:
20699
20700        * css/CSSStyleSelector.cpp:
20701        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
20702        Refactored to use pseudoId.
20703
20704        * dom/Element.cpp:
20705        (WebCore::Element::computedStyle):
20706        If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
20707        * dom/Element.h:
20708        (WebCore::Element::virtualComputedStyle):
20709        Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
20710
20711        * dom/Node.h:
20712        (WebCore::Node::computedStyle):
20713        Ditto.
20714        * dom/Node.cpp:
20715        (WebCore::Node::virtualComputedStyle):
20716        Get the computed style for the pseudo-element if it has been specified.
20717
20718        * page/DOMWindow.cpp:
20719        (WebCore::DOMWindow::getComputedStyle):
20720        Ditto.
20721
207222010-04-18  Simon Hausmann  <simon.hausmann@nokia.com>
20723
20724        Reviewed by Laszlo Gombos.
20725
20726        [Qt] Fix JavaScriptCore's include path for WinCE builds
20727
20728        https://bugs.webkit.org/show_bug.cgi?id=36751
20729
20730        * WebCore.pro:
20731
207322010-04-17  Alexey Proskuryakov  <ap@apple.com>
20733
20734        Reviewed by Adam Barth.
20735
20736        https://bugs.webkit.org/show_bug.cgi?id=37720
20737        <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
20738        crashes on SnowLeopard Release
20739
20740        Tests: 
20741        * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
20742        * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
20743
20744        * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
20745        listeners set via document.body. The body wrapper can go away if nothing else references it.
20746
20747        * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
20748        because we need to use window object as a wrapper, not the element. Marked all window event
20749        listeners as such for code generator.
20750
20751        * html/HTMLFrameSetElement.idl: Ditto.
20752
207532010-04-17  Juan C. Montemayor  <jmonte03@cs.tufts.edu>
20754
20755        Reviewed by Joseph Pecoraro.
20756
20757        Databases pane doesn't recognize table creation/deletion
20758        https://bugs.webkit.org/show_bug.cgi?id=20219
20759
20760        * inspector/front-end/DatabaseQueryView.js:
20761        (WebInspector.DatabaseQueryView.prototype._queryFinished):
20762
207632010-04-17  Yaar Schnitman  <yaar@chromium.org>
20764
20765        Reviewed by Adam Barth.
20766
20767        Auto-generate V8 bindings for canvas.* overloads
20768        https://bugs.webkit.org/show_bug.cgi?id=37453
20769
20770        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
20771        * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
20772        * html/canvas/CanvasRenderingContext2D.cpp:
20773        (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
20774        * html/canvas/CanvasRenderingContext2D.h: 
20775        * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
20776
207772010-04-17  Yury Semikhatsky  <yurys@chromium.org>
20778
20779        Reviewed by Pavel Feldman.
20780
20781        Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
20782
20783        https://bugs.webkit.org/show_bug.cgi?id=37740
20784
20785        * GNUmakefile.am:
20786        * WebCore.gypi:
20787        * WebCore.pro:
20788        * WebCore.vcproj/WebCore.vcproj:
20789        * WebCore.xcodeproj/project.pbxproj:
20790        * bindings/js/JSBindingsAllInOne.cpp:
20791        * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
20792        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
20793        (WebCore::JavaScriptCallFrame::caller):
20794        (WebCore::JavaScriptCallFrame::scopeChain):
20795        (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
20796        (WebCore::JavaScriptCallFrame::functionName):
20797        (WebCore::JavaScriptCallFrame::type):
20798        (WebCore::JavaScriptCallFrame::thisObject):
20799        (WebCore::JavaScriptCallFrame::evaluate):
20800        * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
20801        (WebCore::JavaScriptCallFrame::create):
20802        (WebCore::JavaScriptCallFrame::invalidate):
20803        (WebCore::JavaScriptCallFrame::isValid):
20804        (WebCore::JavaScriptCallFrame::sourceID):
20805        (WebCore::JavaScriptCallFrame::line):
20806        (WebCore::JavaScriptCallFrame::update):
20807        * inspector/InjectedScriptHost.h:
20808        * inspector/InspectorController.h:
20809
208102010-04-17  Vangelis Kokkevis  <vangelis@chromium.org>
20811
20812        Reviewed by Dimitri Glazkov.
20813
20814        Adding definition of GLES2Context class.
20815        https://bugs.webkit.org/show_bug.cgi?id=37541
20816
20817        No new functionality implemented yet, no tests.
20818
20819        * WebCore.gypi: Added GLES2Context.h
20820        * platform/chromium/GLES2Context.h: Added.
20821
208222010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
20823
20824        Reviewed by Darin Adler.
20825
20826        Crash while handling SVG font in the wrong namespace imported with @font-face
20827        https://bugs.webkit.org/show_bug.cgi?id=18862
20828
20829        Test: fast/invalid/invalidSVGFont.html
20830
20831        * loader/CachedFont.cpp:
20832        (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
20833        getElementsByNameNS: the element factory chooses which element to create based on both
20834        localName and namespace.
20835
208362010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
20837
20838        Unreviewed, rolling out r57770.
20839        http://trac.webkit.org/changeset/57770
20840        https://bugs.webkit.org/show_bug.cgi?id=37746
20841
20842        8 test cases crashed (Requested by Ossy on #webkit).
20843
20844        * platform/graphics/qt/GraphicsLayerQt.cpp:
20845        (WebCore::AnimationQtBase::AnimationQtBase):
20846        (WebCore::TransformAnimationQt::~TransformAnimationQt):
20847        (WebCore::TransformAnimationQt::applyFrame):
20848        (WebCore::OpacityAnimationQt::applyFrame):
20849        (WebCore::GraphicsLayerQt::addAnimation):
20850
208512010-04-16  Daniel Bates  <dbates@rim.com>
20852
20853        Reviewed by Adam Treat.
20854
20855        https://bugs.webkit.org/show_bug.cgi?id=36312
20856
20857        Adds support for the viewport meta tag. The code is largely derived in whole
20858        or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
20859        source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
20860
20861        * Android.mk: Added file ViewportArguments.cpp.
20862        * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
20863        * WebCore.gypi: Ditto.
20864        * WebCore.pro: Ditto.
20865        * WebCore.vcproj/WebCore.vcproj: Ditto.
20866        * WebCore.xcodeproj/project.pbxproj: Ditto.
20867        * dom/Document.cpp:
20868        (WebCore::isSeparator): Added.
20869        (WebCore::Document::processArguments): Added.
20870        (WebCore::Document::processViewport): Added.
20871        * dom/Document.h:
20872        * dom/ViewportArguments.cpp: Added.
20873        (WebCore::setViewportFeature):
20874        (WebCore::viewportErrorMessageTemplate):
20875        (WebCore::viewportErrorMessageLevel):
20876        (WebCore::reportViewportWarning):
20877        * dom/ViewportArguments.h: Added.
20878        (WebCore::):
20879        (WebCore::ViewportArguments::):
20880        (WebCore::ViewportArguments::ViewportArguments):
20881        (WebCore::ViewportArguments::hasCustomArgument):
20882        * html/HTMLMetaElement.cpp:
20883        (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
20884        * page/ChromeClient.h:
20885        (WebCore::ChromeClient::didReceiveViewportArguments): Added.
20886
208872010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
20888
20889        Reviewed by Antti Koivisto.
20890
20891        [Qt] GraphicsLayer: support fill-modes
20892        https://bugs.webkit.org/show_bug.cgi?id=36216
20893        Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
20894        enables a key-frame animation to go to the animation's starting point before the delay,
20895        and/or to stay at the animation's ending point after its ended, without reverting to the default
20896        value.
20897        We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
20898        and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
20899
20900        * platform/graphics/qt/GraphicsLayerQt.cpp:
20901        (WebCore::AnimationQtBase::AnimationQtBase):
20902        (WebCore::TransformAnimationQt::~TransformAnimationQt):
20903        (WebCore::TransformAnimationQt::applyFrame):
20904        (WebCore::GraphicsLayerQt::addAnimation):
20905
209062010-04-16  Gavin Barraclough  <barraclough@apple.com>
20907
20908        Reviewed by NOBODY (arm build fix).
20909
20910        * bindings/js/JSDesktopNotificationsCustom.cpp:
20911        (WebCore::JSNotification::addEventListener):
20912        (WebCore::JSNotification::removeEventListener):
20913
209142010-04-16  Dmitry Titov  <dimich@chromium.org>
20915
20916        Reviewed by Yury Semikhatsky.
20917
20918        [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
20919        https://bugs.webkit.org/show_bug.cgi?id=37691
20920
20921        Existing worker-close.html will now work in Chromium.
20922
20923        * bindings/v8/V8Utilities.cpp:
20924        (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
20925        * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
20926        * bindings/v8/WorkerScriptController.h:
20927        (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
20928
209292010-04-16  Gavin Barraclough  <barraclough@apple.com>
20930
20931        Reviewed by Sam Weinig.
20932
20933        https://bugs.webkit.org/show_bug.cgi?id=37735
20934        Remove JSC specific code from WebCore::AtomicString
20935
20936        Add generic constructor/add/find methods that take a UChar* & length, along
20937        with a known existing hash for the string.
20938        This removes the remaining JSC specific code from platform/text.
20939
20940        * bindings/js/JSAbstractWorkerCustom.cpp:
20941        (WebCore::JSAbstractWorker::addEventListener):
20942        (WebCore::JSAbstractWorker::removeEventListener):
20943        * bindings/js/JSDOMApplicationCacheCustom.cpp:
20944        (WebCore::JSDOMApplicationCache::addEventListener):
20945        (WebCore::JSDOMApplicationCache::removeEventListener):
20946        * bindings/js/JSDOMBinding.cpp:
20947        (WebCore::ustringToAtomicString):
20948        (WebCore::identifierToAtomicString):
20949        (WebCore::findAtomicString):
20950        * bindings/js/JSDOMBinding.h:
20951        * bindings/js/JSDOMWindowCustom.cpp:
20952        (WebCore::childFrameGetter):
20953        (WebCore::JSDOMWindow::getOwnPropertySlot):
20954        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
20955        (WebCore::JSDOMWindow::open):
20956        (WebCore::JSDOMWindow::addEventListener):
20957        (WebCore::JSDOMWindow::removeEventListener):
20958        * bindings/js/JSElementCustom.cpp:
20959        (WebCore::JSElement::setAttribute):
20960        (WebCore::JSElement::setAttributeNS):
20961        * bindings/js/JSEventSourceCustom.cpp:
20962        (WebCore::JSEventSource::addEventListener):
20963        (WebCore::JSEventSource::removeEventListener):
20964        * bindings/js/JSHTMLAllCollectionCustom.cpp:
20965        (WebCore::getNamedItems):
20966        (WebCore::JSHTMLAllCollection::canGetItemsForName):
20967        * bindings/js/JSHTMLCollectionCustom.cpp:
20968        (WebCore::getNamedItems):
20969        (WebCore::JSHTMLCollection::canGetItemsForName):
20970        * bindings/js/JSHTMLDocumentCustom.cpp:
20971        (WebCore::JSHTMLDocument::canGetItemsForName):
20972        * bindings/js/JSHTMLFormElementCustom.cpp:
20973        (WebCore::JSHTMLFormElement::canGetItemsForName):
20974        (WebCore::JSHTMLFormElement::nameGetter):
20975        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
20976        (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
20977        (WebCore::JSHTMLFrameSetElement::nameGetter):
20978        * bindings/js/JSMessageEventCustom.cpp:
20979        (WebCore::JSMessageEvent::initMessageEvent):
20980        * bindings/js/JSMessagePortCustom.cpp:
20981        (WebCore::JSMessagePort::addEventListener):
20982        (WebCore::JSMessagePort::removeEventListener):
20983        * bindings/js/JSMimeTypeArrayCustom.cpp:
20984        (WebCore::JSMimeTypeArray::canGetItemsForName):
20985        (WebCore::JSMimeTypeArray::nameGetter):
20986        * bindings/js/JSNodeCustom.cpp:
20987        (WebCore::JSNode::addEventListener):
20988        (WebCore::JSNode::removeEventListener):
20989        * bindings/js/JSNodeListCustom.cpp:
20990        (WebCore::JSNodeList::canGetItemsForName):
20991        (WebCore::JSNodeList::nameGetter):
20992        * bindings/js/JSPluginArrayCustom.cpp:
20993        (WebCore::JSPluginArray::canGetItemsForName):
20994        (WebCore::JSPluginArray::nameGetter):
20995        * bindings/js/JSPluginCustom.cpp:
20996        (WebCore::JSPlugin::canGetItemsForName):
20997        (WebCore::JSPlugin::nameGetter):
20998        * bindings/js/JSPopStateEventCustom.cpp:
20999        (WebCore::JSPopStateEvent::initPopStateEvent):
21000        * bindings/js/JSSVGElementInstanceCustom.cpp:
21001        (WebCore::JSSVGElementInstance::addEventListener):
21002        (WebCore::JSSVGElementInstance::removeEventListener):
21003        * bindings/js/JSWebSocketCustom.cpp:
21004        (WebCore::JSWebSocket::addEventListener):
21005        (WebCore::JSWebSocket::removeEventListener):
21006        * bindings/js/JSWorkerContextCustom.cpp:
21007        (WebCore::JSWorkerContext::addEventListener):
21008        (WebCore::JSWorkerContext::removeEventListener):
21009        * bindings/js/JSXMLHttpRequestCustom.cpp:
21010        (WebCore::JSXMLHttpRequest::setRequestHeader):
21011        (WebCore::JSXMLHttpRequest::getResponseHeader):
21012        (WebCore::JSXMLHttpRequest::addEventListener):
21013        (WebCore::JSXMLHttpRequest::removeEventListener):
21014        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
21015        (WebCore::JSXMLHttpRequestUpload::addEventListener):
21016        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
21017        * platform/text/AtomicString.cpp:
21018        (WebCore::AtomicString::add):
21019        (WebCore::AtomicString::find):
21020        * platform/text/AtomicString.h:
21021        (WebCore::AtomicString::AtomicString):
21022
210232010-04-16  Fumitoshi Ukai  <ukai@chromium.org>
21024
21025        Reviewed by Alexey Proskuryakov.
21026
21027        WebSocket crash when it receives bad header.
21028        https://bugs.webkit.org/show_bug.cgi?id=37682
21029
21030        If name or value is not valid UTF-8, nameStr or valueStr would be
21031        null string, so crashed in headers->add(nameStr, valueStr).
21032        Check both nameStr and valueStr are not null string.
21033        Otherwise handshake will fail.
21034
21035        Test: websocket/tests/bad-handshake-crash.html
21036
21037        * websockets/WebSocketHandshake.cpp:
21038        (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
21039
210402010-04-16  Dan Bernstein  <mitz@apple.com>
21041
21042        Reviewed by Simon Fraser.
21043
21044        <rdar://problem/7873647> Crash when updating hover state
21045
21046        Test: fast/dynamic/hover-style-recalc-crash.html
21047
21048        Updating the hover state of an element caused the document to need style
21049        recalc, and then updating the hover state of a link caused style recalc,
21050        which changed the render tree while updateHoverActiveState() was iterating
21051        over it, leading to a crash.
21052
21053        * rendering/RenderLayer.cpp:
21054        (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
21055        updated into vectors, then update their active and hover states.
21056
210572010-04-16  Dumitru Daniliuc  <dumi@chromium.org>
21058
21059        Reviewed by Alexey Proskuryakov.
21060
21061        Make Safari correctly allocate 5MB of DB storage to all new
21062        origins.
21063        https://bugs.webkit.org/show_bug.cgi?id=36671
21064
21065        Eric fixed the same problem in
21066        DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
21067        to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
21068
21069        * storage/DatabaseTracker.cpp:
21070        (WebCore::DatabaseTracker::detailsForNameAndOrigin):
21071
210722010-04-16  Kinuko Yasuda  <kinuko@chromium.org>
21073
21074        Reviewed by Jian Li.
21075
21076        Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
21077        https://bugs.webkit.org/show_bug.cgi?id=37218
21078
21079        No new tests; tests will be added when we add upper layer implementations.
21080
21081        * GNUmakefile.am:
21082        * WebCore.gypi:
21083        * WebCore.pro:
21084        * WebCore.vcproj/WebCore.vcproj:
21085        * WebCore.xcodeproj/project.pbxproj:
21086        * html/FileStream.cpp:
21087        (WebCore::FileStream::stop):
21088        * html/FileStream.h:
21089        * html/FileStreamClient.h:
21090        (WebCore::FileStreamClient::didStop):
21091        * html/FileStreamProxy.cpp: Added
21092        * html/FileStreamProxy.h: Added
21093        * html/FileThreadTask.h: Added
21094
210952010-04-16  Gavin Barraclough  <barraclough@apple.com>
21096
21097        Reviewed by Oliver Hunt.
21098
21099        Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
21100        (Following on from bug #37675).
21101
21102        Remove ustring() method, and constructor passed a UString.
21103
21104        * WebCore.base.exp:
21105        * bindings/js/JSDOMBinding.cpp:
21106        (WebCore::stringimplToUString):
21107        (WebCore::jsStringSlowCase):
21108        (WebCore::ustringToString):
21109        (WebCore::stringToUString):
21110        (WebCore::identifierToString):
21111        * bindings/js/JSDOMBinding.h:
21112        (WebCore::jsString):
21113        * platform/text/AtomicString.cpp:
21114        (WebCore::AtomicString::operator UString):
21115        * platform/text/StringImpl.cpp:
21116        (WebCore::StringImpl::create):
21117        * platform/text/StringImpl.h:
21118
211192010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
21120 
21121        Reviewed by Simon Hausmann.
21122 
21123        [Qt] WebGL is not visible when QGLWidget viewport is used
21124        https://bugs.webkit.org/show_bug.cgi?id=37070
21125 
21126        Added HostWindow parameter to the constructor of GraphicsContext3D.
21127        Shared OpenGL context is initialized with parent QGLWidget.
21128 
21129        * html/canvas/WebGLRenderingContext.cpp:
21130        (WebCore::WebGLRenderingContext::create):
21131        * platform/graphics/GraphicsContext3D.h:
21132        * platform/graphics/mac/GraphicsContext3DMac.cpp:
21133        (WebCore::GraphicsContext3D::create):
21134        (WebCore::GraphicsContext3D::GraphicsContext3D):
21135        * platform/graphics/qt/GraphicsContext3DQt.cpp:
21136        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
21137        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
21138        (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
21139        (WebCore::GraphicsContext3D::create):
21140        (WebCore::GraphicsContext3D::GraphicsContext3D):
21141
211422010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
21143
21144        Reviewed by Simon Hausmann.
21145
21146        [Qt] WebKit compilation fails with --3d-canvas
21147        https://bugs.webkit.org/show_bug.cgi?id=37699 
21148        
21149        API for readPixels() has been changed. 
21150
21151        * platform/graphics/qt/GraphicsContext3DQt.cpp:
21152        (WebCore::GraphicsContext3D::readPixels):
21153
211542010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
21155
21156        Reviewed by Antti Koivisto.
21157
21158        [Qt]QtLauncher crash on page with CSS 3D transform
21159        https://bugs.webkit.org/show_bug.cgi?id=36859
21160
21161        Added a neccessary null-pointer check, lack of which created the crash circumstances.
21162
21163        Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
21164
21165        * platform/graphics/qt/GraphicsLayerQt.cpp:
21166        (WebCore::GraphicsLayerQtImpl::flushChanges):
21167
211682010-04-16  Anders Carlsson  <andersca@apple.com>
21169
21170        Reviewed by Sam Weinig.
21171
21172        Make sure to update the current graphics context when calling out to AppKit.
21173
21174        * platform/mac/ThemeMac.mm:
21175        (WebCore::paintCheckbox):
21176        (WebCore::paintRadio):
21177
211782010-04-15  Gavin Barraclough  <barraclough@apple.com>
21179
21180        Reviewed by Sam Weinig & Oliver Hunt.
21181
21182        https://bugs.webkit.org/show_bug.cgi?id=37675
21183        Remove casts/constructors to/from JSC::UString type from WebCore::String
21184        
21185        WebCore's strings should not know about JSC::UString, this should be abstracted
21186        away in the bindings.  Add explicit conversion methods rather than relying on
21187        overloaded cast operators / constructors being implicitly called.
21188
21189        This patch only changes the class String, once this has landed StringImpl, and
21190        hopefully AtomicString too, should follow suit.
21191
21192        This patch adds:
21193            WebCore::identifierToString
21194            WebCore::ustringToString
21195            WebCore::stringToUString
21196
21197        - to JSDOMBindings.h, and updates code to call these methods.
21198
21199        * WebCore.base.exp:
21200        * WebCore.order:
21201        * bindings/js/CachedScriptSourceProvider.h:
21202        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
21203        * bindings/js/JSAudioConstructor.cpp:
21204        (WebCore::constructAudio):
21205        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
21206        (WebCore::JSCSSStyleDeclaration::nameGetter):
21207        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21208        (WebCore::toHTMLCanvasStyle):
21209        (WebCore::JSCanvasRenderingContext2D::setFillColor):
21210        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
21211        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
21212        (WebCore::JSCanvasRenderingContext2D::setShadow):
21213        (WebCore::JSCanvasRenderingContext2D::fillText):
21214        (WebCore::JSCanvasRenderingContext2D::strokeText):
21215        * bindings/js/JSClipboardCustom.cpp:
21216        (WebCore::JSClipboard::types):
21217        (WebCore::JSClipboard::clearData):
21218        (WebCore::JSClipboard::getData):
21219        (WebCore::JSClipboard::setData):
21220        * bindings/js/JSCustomXPathNSResolver.cpp:
21221        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
21222        * bindings/js/JSDOMBinding.cpp:
21223        (WebCore::identifierToString):
21224        (WebCore::ustringToString):
21225        (WebCore::stringToUString):
21226        (WebCore::valueToStringWithNullCheck):
21227        (WebCore::valueToStringWithUndefinedOrNullCheck):
21228        (WebCore::reportException):
21229        * bindings/js/JSDOMBinding.h:
21230        * bindings/js/JSDOMFormDataCustom.cpp:
21231        (WebCore::JSDOMFormData::append):
21232        * bindings/js/JSDOMWindowCustom.cpp:
21233        (WebCore::namedItemGetter):
21234        (WebCore::JSDOMWindow::setLocation):
21235        (WebCore::JSDOMWindow::openDatabase):
21236        * bindings/js/JSDatabaseCustom.cpp:
21237        (WebCore::JSDatabase::changeVersion):
21238        * bindings/js/JSDocumentCustom.cpp:
21239        (WebCore::JSDocument::setLocation):
21240        * bindings/js/JSEventListener.cpp:
21241        (WebCore::JSEventListener::handleEvent):
21242        * bindings/js/JSEventSourceConstructor.cpp:
21243        (WebCore::constructEventSource):
21244        * bindings/js/JSHTMLAllCollectionCustom.cpp:
21245        (WebCore::callHTMLAllCollection):
21246        * bindings/js/JSHTMLCanvasElementCustom.cpp:
21247        (WebCore::JSHTMLCanvasElement::getContext):
21248        * bindings/js/JSHTMLCollectionCustom.cpp:
21249        (WebCore::callHTMLCollection):
21250        * bindings/js/JSHTMLDocumentCustom.cpp:
21251        (WebCore::JSHTMLDocument::nameGetter):
21252        (WebCore::documentWrite):
21253        * bindings/js/JSInjectedScriptHostCustom.cpp:
21254        (WebCore::InjectedScriptHost::createInjectedScript):
21255        * bindings/js/JSInspectorFrontendHostCustom.cpp:
21256        (WebCore::JSInspectorFrontendHost::showContextMenu):
21257        * bindings/js/JSLazyEventListener.cpp:
21258        (WebCore::JSLazyEventListener::initializeJSFunction):
21259        * bindings/js/JSLocationCustom.cpp:
21260        (WebCore::JSLocation::setHref):
21261        (WebCore::JSLocation::setProtocol):
21262        (WebCore::JSLocation::setHost):
21263        (WebCore::JSLocation::setHostname):
21264        (WebCore::JSLocation::setPathname):
21265        (WebCore::JSLocation::setSearch):
21266        (WebCore::JSLocation::setHash):
21267        (WebCore::JSLocation::replace):
21268        (WebCore::JSLocation::assign):
21269        * bindings/js/JSMessageEventCustom.cpp:
21270        (WebCore::JSMessageEvent::initMessageEvent):
21271        * bindings/js/JSNamedNodeMapCustom.cpp:
21272        (WebCore::JSNamedNodeMap::canGetItemsForName):
21273        (WebCore::JSNamedNodeMap::nameGetter):
21274        * bindings/js/JSOptionConstructor.cpp:
21275        (WebCore::constructHTMLOptionElement):
21276        * bindings/js/JSSQLResultSetRowListCustom.cpp:
21277        (WebCore::JSSQLResultSetRowList::item):
21278        * bindings/js/JSSQLTransactionCustom.cpp:
21279        (WebCore::JSSQLTransaction::executeSql):
21280        * bindings/js/JSSharedWorkerConstructor.cpp:
21281        (WebCore::constructSharedWorker):
21282        * bindings/js/JSStorageCustom.cpp:
21283        (WebCore::JSStorage::canGetItemsForName):
21284        (WebCore::JSStorage::nameGetter):
21285        (WebCore::JSStorage::deleteProperty):
21286        (WebCore::JSStorage::getOwnPropertyNames):
21287        (WebCore::JSStorage::putDelegate):
21288        * bindings/js/JSStyleSheetListCustom.cpp:
21289        (WebCore::JSStyleSheetList::canGetItemsForName):
21290        (WebCore::JSStyleSheetList::nameGetter):
21291        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
21292        (WebCore::constructWebKitCSSMatrix):
21293        * bindings/js/JSWebSocketConstructor.cpp:
21294        (WebCore::constructWebSocket):
21295        * bindings/js/JSWebSocketCustom.cpp:
21296        (WebCore::JSWebSocket::send):
21297        * bindings/js/JSWorkerConstructor.cpp:
21298        (WebCore::constructWorker):
21299        * bindings/js/JSWorkerContextCustom.cpp:
21300        (WebCore::JSWorkerContext::importScripts):
21301        * bindings/js/JSXMLHttpRequestCustom.cpp:
21302        (WebCore::JSXMLHttpRequest::open):
21303        (WebCore::JSXMLHttpRequest::setRequestHeader):
21304        (WebCore::JSXMLHttpRequest::send):
21305        (WebCore::JSXMLHttpRequest::overrideMimeType):
21306        * bindings/js/JSXSLTProcessorCustom.cpp:
21307        (WebCore::JSXSLTProcessor::setParameter):
21308        (WebCore::JSXSLTProcessor::getParameter):
21309        (WebCore::JSXSLTProcessor::removeParameter):
21310        * bindings/js/ScheduledAction.cpp:
21311        (WebCore::ScheduledAction::create):
21312        * bindings/js/ScriptCallFrame.cpp:
21313        (WebCore::ScriptCallFrame::ScriptCallFrame):
21314        * bindings/js/ScriptController.cpp:
21315        (WebCore::ScriptController::evaluateInWorld):
21316        * bindings/js/ScriptDebugServer.cpp:
21317        (WebCore::ScriptDebugServer::hasBreakpoint):
21318        (WebCore::ScriptDebugServer::dispatchDidParseSource):
21319        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
21320        (WebCore::ScriptDebugServer::sourceParsed):
21321        * bindings/js/ScriptEventListener.cpp:
21322        (WebCore::getEventListenerHandlerBody):
21323        * bindings/js/ScriptFunctionCall.cpp:
21324        (WebCore::ScriptFunctionCall::appendArgument):
21325        (WebCore::ScriptFunctionCall::call):
21326        (WebCore::ScriptFunctionCall::construct):
21327        * bindings/js/ScriptObject.cpp:
21328        (WebCore::ScriptObject::set):
21329        * bindings/js/ScriptProfiler.cpp:
21330        (WebCore::ScriptProfiler::start):
21331        (WebCore::ScriptProfiler::stop):
21332        * bindings/js/ScriptString.h:
21333        (WebCore::ScriptString::operator String):
21334        (WebCore::ScriptString::ustring):
21335        (WebCore::ScriptString::operator+=):
21336        * bindings/js/ScriptValue.cpp:
21337        (WebCore::ScriptValue::getString):
21338        * bindings/js/ScriptValue.h:
21339        (WebCore::ScriptValue::toString):
21340        * bindings/js/SerializedScriptValue.cpp:
21341        (WebCore::SerializedObject::set):
21342        (WebCore::SerializingTreeWalker::convertIfTerminal):
21343        (WebCore::DeserializingTreeWalker::putProperty):
21344        * bindings/js/StringSourceProvider.h:
21345        (WebCore::StringSourceProvider::StringSourceProvider):
21346        * bindings/objc/WebScriptObject.mm:
21347        (-[WebScriptObject callWebScriptMethod:withArguments:]):
21348        (-[WebScriptObject setValue:forKey:]):
21349        (-[WebScriptObject valueForKey:]):
21350        (-[WebScriptObject removeWebScriptKey:]):
21351        * bindings/scripts/CodeGeneratorJS.pm:
21352        * bridge/IdentifierRep.cpp:
21353        (WebCore::IdentifierRep::get):
21354        * bridge/c/c_utility.cpp:
21355        (JSC::Bindings::identifierFromNPIdentifier):
21356        * inspector/InspectorController.cpp:
21357        (WebCore::InspectorController::scriptImported):
21358        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
21359        (WebCore::InspectorController::createProfileHeader):
21360        * inspector/InspectorResource.cpp:
21361        (WebCore::InspectorResource::sourceString):
21362        * inspector/JavaScriptCallFrame.cpp:
21363        (WebCore::JavaScriptCallFrame::functionName):
21364        * platform/KURL.h:
21365        (WebCore::KURL::operator const String&):
21366        * platform/text/AtomicString.cpp:
21367        (WebCore::AtomicString::operator UString):
21368        * platform/text/AtomicString.h:
21369        * platform/text/PlatformString.h:
21370        * platform/text/String.cpp:
21371
213722010-04-16  Anders Carlsson  <andersca@apple.com>
21373
21374        Reviewed by David Hyatt.
21375
21376        Always pass a view to the AppKit drawing functions.
21377        https://bugs.webkit.org/show_bug.cgi?id=37724
21378
21379        * platform/mac/ThemeMac.mm:
21380        (WebCore::paintCheckbox):
21381        (WebCore::paintRadio):
21382        * rendering/RenderThemeMac.mm:
21383        (WebCore::RenderThemeMac::paintMenuList):
21384        (WebCore::RenderThemeMac::paintSliderThumb):
21385        (WebCore::RenderThemeMac::paintSearchField):
21386        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
21387        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
21388        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
21389
213902010-04-16  Alexey Proskuryakov  <ap@apple.com>
21391
21392        Reviewed by Dan Bernstein.
21393
21394        https://bugs.webkit.org/show_bug.cgi?id=37718
21395        Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
21396
21397        Test: fast/events/recorded-keydown-event.html
21398
21399        * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
21400        frameless.
21401
214022010-04-16  Jian Li  <jianli@chromium.org>
21403
21404        Reviewed by Dmitry Titov.
21405
21406        Update FormDataList to fix style violations in old code.
21407        https://bugs.webkit.org/show_bug.cgi?id=37689
21408
21409        * html/FormDataList.h:
21410        (WebCore::FormDataList::appendData):
21411        (WebCore::FormDataList::appendBlob):
21412
214132010-04-16  Anders Carlsson  <andersca@apple.com>
21414
21415        Fix WebKit2 build.
21416
21417        * WebCore.base.exp:
21418
214192010-04-16  Jay Civelli  <jcivelli@chromium.org>
21420
21421        Reviewed by Dimitri Glazkov.
21422
21423        [chromium] Fix Mac build.
21424        https://bugs.webkit.org/show_bug.cgi?id=37436
21425
21426        * platform/chromium/PopupMenuChromium.h:
21427
214282010-04-16  Jay Civelli  <jcivelli@chromium.org>
21429
21430        Reviewed by Dimitri Glazkov.
21431
21432        [chromium] Select popups would assert when destroyed.
21433        https://bugs.webkit.org/show_bug.cgi?id=37436
21434
21435
21436        * platform/chromium/PopupMenuChromium.cpp:
21437        (WebCore::PopupContainer::PopupContainer):
21438        (WebCore::PopupContainer::showPopup):
21439        (WebCore::PopupContainer::notifyPopupHidden):
21440        * platform/chromium/PopupMenuChromium.h:
21441
214422010-04-16  Antonio Gomes  <tonikitoo@webkit.org>
21443
21444        Unreviewed QtWebKit (with Qt 4.7) build fix.
21445
21446        Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
21447        renamed the variable used.
21448
21449        * platform/graphics/qt/FontPlatformDataQt.cpp:
21450        (WebCore::FontPlatformData::FontPlatformData):
21451
214522010-04-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
21453
21454        Reviewed by Kenneth Rohde Christiansen.
21455
21456        Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
21457        This aligns our implementation with the Safari implementation - layers are always uploaded
21458        to textures in item units, and WebCore is responsible for the heuristics.
21459
21460        [Qt] GraphicsLayer: performance optimizations
21461        https://bugs.webkit.org/show_bug.cgi?id=35393
21462
21463        No new tests. Still no FPS benchmarks available (on any platform)
21464        but animations are noticably better.
21465
21466        * platform/graphics/qt/GraphicsLayerQt.cpp:
21467        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
21468        (WebCore::GraphicsLayerQtImpl::paint):
21469        (WebCore::GraphicsLayerQtImpl::flushChanges):
21470        (WebCore::TransformAnimationQt::updateState):
21471
214722010-04-16  Simon Hausmann  <simon.hausmann@nokia.com>
21473
21474        Reviewed by Kenneth Rohde Christiansen.
21475
21476        [Qt] WebCore::Font::font() causes a QFont detach
21477        https://bugs.webkit.org/show_bug.cgi?id=37683
21478
21479        Moved the setStyleStrategy call to FontPlatformData
21480        to avoid the detach.
21481
21482        Thanks to Holger for spotting this.
21483
21484        * platform/graphics/qt/FontPlatformDataQt.cpp:
21485        (WebCore::FontPlatformData::FontPlatformData):
21486        * platform/graphics/qt/FontQt.cpp:
21487        (WebCore::Font::font):
21488
214892010-04-15  Matt Perry  <mpcomplete@chromium.org>
21490
21491        Reviewed by Adam Barth.
21492
21493        Remove the check for the main frame's scheme when deciding which
21494        v8 extensions to add to a script context. Instead, Chromium will
21495        handle that check elsewhere to allow finer-grained control over
21496        what APIs we expose to web pages.
21497        https://bugs.webkit.org/show_bug.cgi?id=37681
21498
21499        * bindings/v8/V8DOMWindowShell.cpp:
21500        (WebCore::V8DOMWindowShell::createNewContext):
21501
215022010-04-15  Luiz Agostini  <luiz.agostini@openbossa.org>
21503
21504        Reviewed by Antti Koivisto.
21505
21506        No default selection for <select multiple> menu lists.
21507        https://bugs.webkit.org/show_bug.cgi?id=37530
21508
21509        Manual test: manual-tests/no-listbox-rendering.html
21510
21511        For menu lists, if the selection is not indicated by the html file, the first <option> will be
21512        selected after loading the page or reseting the form. On the other hand listboxes may have no
21513        element selected after loading the page or reseting the form.
21514
21515        When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
21516        that did not have selected elements, now being menu lists, will have the first <option>
21517        selected. That is the behavior difference that this patch corrects.
21518
21519        When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
21520        be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
21521        by (!multiple && size <= 1) where initial selection is considered.
21522
21523        * dom/SelectElement.cpp:
21524        (WebCore::SelectElement::recalcListItems):
21525        (WebCore::SelectElement::reset):
21526        * manual-tests/no-listbox-rendering.html: Added.
21527
215282010-04-15  Zhenyao Mo  <zmo@google.com>
21529
21530        Reviewed by Dimitri Glazkov.
21531
21532        Index validation code validates too many vertex attributes
21533        https://bugs.webkit.org/show_bug.cgi?id=31892
21534
21535        * html/canvas/WebGLProgram.cpp:
21536        (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
21537        (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
21538        (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
21539        * html/canvas/WebGLProgram.h: Add attribute locations member.
21540        * html/canvas/WebGLRenderingContext.cpp:
21541        (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
21542        (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
21543
215442010-04-16  Adam Roben  <aroben@apple.com>
21545
21546        Don't assert when soft-linked libraries can't be found
21547
21548        In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
21549        to be able to be found in all cases. So we shouldn't assert that they're always found.
21550
21551        Reviewed by Sam Weinig.
21552
21553        * platform/win/SoftLinking.h:
21554        (SOFT_LINK): Don't assert when LoadLibrary fails.
21555
215562010-04-15  Dmitry Titov  <dimich@chromium.org>
21557
21558        Unreviewed, rolling out r57688.
21559        http://trac.webkit.org/changeset/57688
21560        https://bugs.webkit.org/show_bug.cgi?id=34992
21561
21562        Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
21563
21564        * bindings/js/JSWorkerContextCustom.cpp:
21565        * bindings/v8/custom/V8WorkerContextCustom.cpp:
21566        * storage/Database.idl:
21567        * storage/SQLError.idl:
21568        * storage/SQLResultSet.idl:
21569        * storage/SQLResultSetRowList.idl:
21570        * storage/SQLTransaction.idl:
21571        * workers/WorkerContext.cpp:
21572        (WebCore::WorkerContext::openDatabase):
21573        * workers/WorkerContext.h:
21574        (WebCore::WorkerContext::databaseExceededQuota):
21575        * workers/WorkerContext.idl:
21576
215772010-04-15  Yury Semikhatsky  <yurys@google.com>
21578
21579        Reviewed by Pavel Feldman.
21580    
21581        Support basic debugging capabilities including step in/over/out in v8
21582        implementation of ScriptDebugServer.
21583
21584        https://bugs.webkit.org/show_bug.cgi?id=37604
21585
21586        * bindings/js/JSInjectedScriptHostCustom.cpp:
21587        (WebCore::InjectedScriptHost::createInjectedScript):
21588        * bindings/v8/ScriptDebugServer.cpp:
21589        (WebCore::ScriptDebugServer::ScriptDebugServer):
21590        (WebCore::ScriptDebugServer::setDebuggerScriptSource):
21591        (WebCore::ScriptDebugServer::addListener):
21592        (WebCore::ScriptDebugServer::removeListener):
21593        (WebCore::ScriptDebugServer::setBreakpoint):
21594        (WebCore::ScriptDebugServer::removeBreakpoint):
21595        (WebCore::ScriptDebugServer::clearBreakpoints):
21596        (WebCore::ScriptDebugServer::setBreakpointsActivated):
21597        (WebCore::ScriptDebugServer::continueProgram):
21598        (WebCore::ScriptDebugServer::stepIntoStatement):
21599        (WebCore::ScriptDebugServer::stepOverStatement):
21600        (WebCore::ScriptDebugServer::stepOutOfFunction):
21601        (WebCore::ScriptDebugServer::currentCallFrameState):
21602        (WebCore::ScriptDebugServer::currentCallFrameV8):
21603        (WebCore::ScriptDebugServer::onV8DebugMessage):
21604        (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
21605        (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
21606        (WebCore::ScriptDebugServer::handleV8DebugMessage):
21607        (WebCore::ScriptDebugServer::dispatchDidParseSource):
21608        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
21609        (WebCore::ScriptDebugServer::didResume):
21610        * bindings/v8/ScriptDebugServer.h:
21611        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21612        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21613        (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
21614        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21615        (WebCore::InjectedScriptHost::createInjectedScript):
21616        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21617        (WebCore::V8InjectedScriptHost::isActivationCallback):
21618        * inspector/front-end/InjectedScript.js:
21619        (injectedScriptConstructor):
21620        (injectedScriptConstructor.):
21621        * inspector/front-end/ScriptsPanel.js:
21622        (WebInspector.ScriptsPanel):
21623
216242010-04-15  Jian Li  <jianli@chromium.org>
21625
21626        Reviewed by Dmitry Titov.
21627
21628        Support using FormData to send a sliced file via XHR.
21629        https://bugs.webkit.org/show_bug.cgi?id=36678
21630
21631        Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
21632
21633        * html/Blob.h:
21634        (WebCore::Blob::isFile):
21635        * html/DOMFormData.cpp:
21636        (WebCore::DOMFormData::append):
21637        * html/File.h:
21638        (WebCore::File::isFile):
21639        * html/FormDataList.h:
21640        (WebCore::FormDataList::appendBlob):
21641        (WebCore::FormDataList::Item::Item):
21642        (WebCore::FormDataList::Item::blob):
21643        * html/HTMLInputElement.cpp:
21644        (WebCore::HTMLInputElement::appendFormData):
21645        * platform/network/FormData.cpp:
21646        (WebCore::FormData::appendDOMFormData):
21647        * platform/network/mac/FormDataStreamMac.mm:
21648        (WebCore::closeCurrentStream):
21649
216502010-04-15  Zhenyao Mo  <zmo@google.com>
21651
21652        Reviewed by Dimitri Glazkov.
21653
21654        Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
21655        https://bugs.webkit.org/show_bug.cgi?id=37178
21656
21657        Test: fast/canvas/webgl/point-size.html
21658
21659        * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
21660        (WebCore::GraphicsContext3D::GraphicsContext3D):
21661
216622010-04-15  Eric Uhrhane  <ericu@chromium.org>
21663
21664        Reviewed by Dmitry Titov.
21665
21666        Add bindings for async DB API in Workers.
21667        https://bugs.webkit.org/show_bug.cgi?id=34992
21668
21669        Tests: storage/change-version-handle-reuse-worker.html
21670               storage/execute-sql-args-worker.html
21671
21672        * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
21673        (WebCore::JSWorkerContext::openDatabase):
21674
21675        * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
21676        (WebCore::V8WorkerContext::openDatabaseCallback):
21677
21678        Add NoStaticTables flags to all objects now shared with workers.
21679        * storage/Database.idl:
21680        * storage/SQLError.idl:
21681        * storage/SQLResultSet.idl:
21682        * storage/SQLResultSetRowList.idl:
21683        * storage/SQLTransaction.idl:
21684        
21685        * workers/WorkerContext.h: Add databaseExceededQuota.
21686        * workers/WorkerContext.cpp:
21687        (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
21688        (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
21689
21690        Add the IDL for the call to openDatabase.
21691        * workers/WorkerContext.idl:
21692
216932010-04-15  Nicolas Weber  <thakis@chromium.org>
21694
21695        Reviewed by Dimitri Glazkov.
21696
21697        Fix drag image thumbnails for indexed images.
21698        https://bugs.webkit.org/show_bug.cgi?id=37621
21699
21700        * platform/chromium/DragImageChromiumMac.cpp:
21701        (WebCore::scaleDragImage): Always use RGB color space.
21702        (WebCore::dissolveDragImageToFraction): Always use RGB color space.
21703
217042010-04-15  Adam Roben  <aroben@apple.com>
21705
21706        Expose UserContentURLPattern as WebKit SPI
21707
21708        Fixes <http://webkit.org/b/37354>.
21709
21710        Reviewed by Tim Hatcher.
21711
21712        * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
21713        the file.
21714
21715        * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
21716        "Private".
21717
21718        * page/UserContentURLPattern.h:
21719        (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
21720        default constructor.
21721        (WebCore::UserContentURLPattern::isValid): Added this getter.
21722
217232010-04-15  Chris Fleizach  <cfleizach@apple.com>
21724
21725        Reviewed by Beth Dakin.
21726
21727        AXHelp is being appended from ancestors incorrectly
21728        https://bugs.webkit.org/show_bug.cgi?id=37659
21729
21730        Test: platform/mac/accessibility/unexpected-help-text.html
21731
21732        * accessibility/AccessibilityRenderObject.cpp:
21733        (WebCore::AccessibilityRenderObject::helpText):
21734
217352010-04-15  David Hyatt  <hyatt@apple.com>
21736
21737        Reviewed by Anders Carlsson.
21738
21739        https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
21740        a pseudoelement.
21741        
21742        Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo.  The existing model gets
21743        confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
21744        style).  I changed the style cache to be a Vector instead.
21745        
21746        Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
21747        you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
21748
21749        * css/CSSStyleSelector.cpp:
21750        (WebCore::CSSStyleSelector::styleForElement):
21751        (WebCore::CSSStyleSelector::pseudoStyleForElement):
21752        * dom/Element.cpp:
21753        (WebCore::Element::pseudoStyleCacheIsInvalid):
21754        * rendering/style/RenderStyle.cpp:
21755        (WebCore::RenderStyle::getCachedPseudoStyle):
21756        (WebCore::RenderStyle::addCachedPseudoStyle):
21757        * rendering/style/RenderStyle.h:
21758        (WebCore::):
21759        (WebCore::InheritedFlags::cachedPseudoStyles):
21760
217612010-04-15  Albert J. Wong  <ajwong@chromium.org>
21762
21763        Unreviewed, rolling out r57660.
21764        http://trac.webkit.org/changeset/57660
21765        https://bugs.webkit.org/show_bug.cgi?id=37604
21766
21767        Broke a large number of inspector layout tests in chromium.
21768
21769        * bindings/js/JSInjectedScriptHostCustom.cpp:
21770        (WebCore::InjectedScriptHost::createInjectedScript):
21771        * bindings/v8/ScriptDebugServer.cpp:
21772        * bindings/v8/ScriptDebugServer.h:
21773        (WebCore::ScriptDebugServer::addListener):
21774        (WebCore::ScriptDebugServer::removeListener):
21775        (WebCore::ScriptDebugServer::setBreakpoint):
21776        (WebCore::ScriptDebugServer::removeBreakpoint):
21777        (WebCore::ScriptDebugServer::clearBreakpoints):
21778        (WebCore::ScriptDebugServer::setBreakpointsActivated):
21779        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21780        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21781        (WebCore::ScriptDebugServer::continueProgram):
21782        (WebCore::ScriptDebugServer::stepIntoStatement):
21783        (WebCore::ScriptDebugServer::stepOverStatement):
21784        (WebCore::ScriptDebugServer::stepOutOfFunction):
21785        (WebCore::ScriptDebugServer::currentCallFrameState):
21786        (WebCore::ScriptDebugServer::ScriptDebugServer):
21787        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21788        (WebCore::InjectedScriptHost::createInjectedScript):
21789        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21790        (WebCore::V8InjectedScriptHost::isActivationCallback):
21791        * inspector/front-end/InjectedScript.js:
21792        (injectedScriptConstructor):
21793        * inspector/front-end/ScriptsPanel.js:
21794        (WebInspector.ScriptsPanel):
21795
217962010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
21797
21798        Reviewed by Dimitri Glazkov.
21799
21800        DatabaseTracker refactoring: remove the dependency on
21801        OriginQuotaManager from DatabaseTracker.h
21802        https://bugs.webkit.org/show_bug.cgi?id=31482
21803
21804        * storage/DatabaseTracker.cpp:
21805        (WebCore::DatabaseTracker::DatabaseTracker):
21806        (WebCore::DatabaseTracker::~DatabaseTracker):
21807        (WebCore::DatabaseTracker::canEstablishDatabase):
21808        (WebCore::DatabaseTracker::hasEntryForOrigin):
21809        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
21810        (WebCore::DatabaseTracker::databaseChanged):
21811        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
21812        (WebCore::DatabaseTracker::fullPathForDatabase):
21813        (WebCore::DatabaseTracker::populateOrigins):
21814        (WebCore::DatabaseTracker::origins):
21815        (WebCore::DatabaseTracker::databaseNamesForOrigin):
21816        (WebCore::DatabaseTracker::addOpenDatabase):
21817        (WebCore::DatabaseTracker::removeOpenDatabase):
21818        (WebCore::DatabaseTracker::usageForOriginNoLock):
21819        (WebCore::DatabaseTracker::usageForOrigin):
21820        (WebCore::DatabaseTracker::quotaForOrigin):
21821        (WebCore::DatabaseTracker::setQuota):
21822        (WebCore::DatabaseTracker::deleteOrigin):
21823        (WebCore::DatabaseTracker::deleteDatabase):
21824        (WebCore::DatabaseTracker::deleteDatabaseFile):
21825        * storage/DatabaseTracker.h:
21826        * storage/SQLTransactionClient.cpp:
21827        (WebCore::SQLTransactionClient::didExecuteStatement):
21828
218292010-04-15  Zhenyao Mo  <zmo@google.com>
21830
21831        Reviewed by Adam Barth.
21832
21833        Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
21834        This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
21835        https://bugs.webkit.org/show_bug.cgi?id=36908
21836
21837        * platform/graphics/mac/GraphicsContext3DMac.cpp:
21838        (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
21839        (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
21840
218412010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
21842
21843        Reviewed by Simon Fraser.
21844
21845        Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
21846        https://bugs.webkit.org/show_bug.cgi?id=37635
21847
21848        absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
21849        So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
21850
21851        * page/SpatialNavigation.cpp:
21852        (WebCore::hasOffscreenRect):
21853
218542010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
21855
21856        Reviewed by Simon Fraser.
21857
21858        Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
21859        https://bugs.webkit.org/show_bug.cgi?id=37634
21860
21861        This assignment line is not longer needed after r57061, bug that refactored all
21862        assignment logic to happen lines below in the method.
21863
21864        * page/FocusController.cpp:
21865        (WebCore::updateFocusCandidateIfCloser):
21866
218672010-04-15  Yury Semikhatsky  <yurys@google.com>
21868
21869        Reviewed by Pavel Feldman.
21870    
21871        Support basic debugging capabilities including step in/over/out in v8
21872        implementation of ScriptDebugServer.
21873
21874        https://bugs.webkit.org/show_bug.cgi?id=37604
21875
21876        * bindings/js/JSInjectedScriptHostCustom.cpp:
21877        (WebCore::InjectedScriptHost::createInjectedScript):
21878        * bindings/v8/ScriptDebugServer.cpp:
21879        (WebCore::ScriptDebugServer::ScriptDebugServer):
21880        (WebCore::ScriptDebugServer::setDebuggerScriptSource):
21881        (WebCore::ScriptDebugServer::addListener):
21882        (WebCore::ScriptDebugServer::removeListener):
21883        (WebCore::ScriptDebugServer::setBreakpoint):
21884        (WebCore::ScriptDebugServer::removeBreakpoint):
21885        (WebCore::ScriptDebugServer::clearBreakpoints):
21886        (WebCore::ScriptDebugServer::setBreakpointsActivated):
21887        (WebCore::ScriptDebugServer::continueProgram):
21888        (WebCore::ScriptDebugServer::stepIntoStatement):
21889        (WebCore::ScriptDebugServer::stepOverStatement):
21890        (WebCore::ScriptDebugServer::stepOutOfFunction):
21891        (WebCore::ScriptDebugServer::currentCallFrameState):
21892        (WebCore::ScriptDebugServer::currentCallFrameV8):
21893        (WebCore::ScriptDebugServer::onV8DebugMessage):
21894        (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
21895        (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
21896        (WebCore::ScriptDebugServer::handleV8DebugMessage):
21897        (WebCore::ScriptDebugServer::dispatchDidParseSource):
21898        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
21899        (WebCore::ScriptDebugServer::didResume):
21900        * bindings/v8/ScriptDebugServer.h:
21901        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
21902        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
21903        (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
21904        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
21905        (WebCore::InjectedScriptHost::createInjectedScript):
21906        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
21907        (WebCore::V8InjectedScriptHost::isActivationCallback):
21908        * inspector/front-end/InjectedScript.js:
21909        (injectedScriptConstructor):
21910        (injectedScriptConstructor.):
21911        * inspector/front-end/ScriptsPanel.js:
21912        (WebInspector.ScriptsPanel):
21913
219142010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>
21915
21916        Reviewed by Beth Dakin.
21917
21918        RenderSVGResource <-> id mapping should be cached
21919        https://bugs.webkit.org/show_bug.cgi?id=37575
21920
21921        Test: svg/custom/clip-path-id-changes.svg
21922
21923        * rendering/RenderSVGResource.h:
21924        (WebCore::RenderSVGResource::RenderSVGResource):
21925        (WebCore::RenderSVGResource::~RenderSVGResource):
21926        (WebCore::RenderSVGResource::idChanged):
21927        (WebCore::getRenderSVGResourceById):
21928        * svg/SVGDocumentExtensions.cpp:
21929        (WebCore::SVGDocumentExtensions::addResource):
21930        (WebCore::SVGDocumentExtensions::removeResource):
21931        (WebCore::SVGDocumentExtensions::resourceById):
21932        * svg/SVGDocumentExtensions.h:
21933        * svg/SVGStyledElement.cpp:
21934        (WebCore::SVGStyledElement::svgAttributeChanged):
21935
219362010-04-15  Justin Schuh  <jschuh@chromium.org>
21937
21938        Reviewed by Dimitri Glazkov.
21939
21940        LayoutTest breakage in V8 bindings after r57627
21941        https://bugs.webkit.org/show_bug.cgi?id=37660
21942
21943        Fixes breakage of the following tests due to an error in V8 bindings for
21944        NamedNodeMap:
21945        hc_namednodemapinuseattributeerr.html
21946        hc_namednodemapsetnameditemreturnvalue.html
21947        hc_namednodemapwrongdocumenterr.html
21948        hc_namednodemapinvalidtype1.html
21949        NamedNodeMap-setNamedItem-crash.html
21950
21951        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
21952        (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
21953        (WebCore::V8NamedNodeMap::setNamedItemCallback):
21954
219552010-04-15  David Hyatt  <hyatt@apple.com>
21956
21957        Reviewed by Anders Carlsson.
21958
21959        https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color.  Make sure
21960        that the pseudo style caching allows visited link styles to hang off other pseudo styles.
21961
21962        * rendering/RenderBlock.cpp:
21963        (WebCore::RenderBlock::updateFirstLetter):
21964        * rendering/style/RenderStyle.cpp:
21965        (WebCore::RenderStyle::getCachedPseudoStyle):
21966
219672010-04-15  Ben Murdoch  <benm@google.com>
21968
21969        Unreviewed, rolling out r57652.
21970        http://trac.webkit.org/changeset/57652
21971        https://bugs.webkit.org/show_bug.cgi?id=37609
21972
21973        Caused a build break on Chromium Mac and Layout Test fail on
21974        Qt
21975
21976        * platform/PlatformTouchPoint.h:
21977        (WebCore::PlatformTouchPoint::):
21978        * platform/qt/PlatformTouchPointQt.cpp:
21979        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
21980
219812010-04-15  Yaar Schnitman  <yaar@chromium.org>
21982
21983        Reviewed by Nate Chapin.
21984
21985        Overloads auto-generation in V8
21986        https://bugs.webkit.org/show_bug.cgi?id=37373
21987
21988        This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
21989
21990        Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
21991
21992        * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
21993        * bindings/v8/test/TestObj.idl: Overloads sample.
21994        * bindings/v8/test/V8TestObj.cpp: Output change.
21995
219962010-04-15  Ben Murdoch  <benm@google.com>
21997
21998        Reviewed by Kenneth Rohde Christiansen.
21999
22000        The TouchStationary state of WebCore::PlatformTouchPoint
22001        is not handled inside the touch event handler.
22002        https://bugs.webkit.org/show_bug.cgi?id=37609
22003
22004        After discussions at the WebKit contributors meeting, we decided
22005        that this is a currently unused state without a good future use
22006        case in the Touch API and thus decided to remove it. This patch
22007        actions that decision.
22008
22009        As the TouchStationary state is not handled in the EventHandler,
22010        there is no change in functionality so no new tests are required.
22011
22012        * platform/PlatformTouchPoint.h:
22013        (WebCore::PlatformTouchPoint::): Remove TouchStationary.
22014        * platform/qt/PlatformTouchPointQt.cpp:
22015        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
22016
220172010-04-15  Steve Falkenburg  <sfalken@apple.com>
22018
22019        Reviewed by Adam Roben.
22020
22021        Use a lower-overhead mechanism for plug-in message throttling
22022        https://bugs.webkit.org/show_bug.cgi?id=37642        
22023        <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
22024        
22025        GMail has an instance of Flash that loads on the main mail page.
22026        This Flash content sends us a constant stream of WM_USER+1 messsages.
22027        
22028        There was already code in PluginMessageThrottlerWin to queue and process these
22029        excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
22030        problems with this code:
22031        
22032        - The timer used to process the excess messages had a very low timeout (1ms).
22033          Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
22034          while still maintaining good Flash frame rate.
22035        
22036        - The overhead involved in generating a constant stream of 5ms timers still swamped
22037          the CPU, resulting in continued high CPU utilization.
22038          
22039        To fix this, I changed the throttling code to:
22040        
22041        - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
22042          This allows us to avoid the overhead of a timer.
22043          
22044        - Process remaining delayed WM_USER+1 messages on a 16ms timer.
22045        
22046        This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
22047        I also verified the frame rate for Flash content wasn't reduced with this change.
22048
22049        * plugins/win/PluginMessageThrottlerWin.cpp:
22050        (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
22051        (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
22052        (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
22053        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
22054        * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
22055
220562010-04-15  Shinichiro Hamaji  <hamaji@chromium.org>
22057
22058        Reviewed by David Levin.
22059
22060        LEAK: in ThreadableWebSocketChannel::create()
22061        https://bugs.webkit.org/show_bug.cgi?id=37584
22062
22063        No new tests because this change just fixes a leak.
22064
22065        * websockets/WorkerThreadableWebSocketChannel.cpp:
22066        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
22067        * websockets/WorkerThreadableWebSocketChannel.h:
22068        (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
22069
220702010-04-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
22071
22072        Reviewed by Eric Seidel.
22073
22074        Duplicated patches related to wml were pushed to trunk. So, one of
22075        the patches should be reverted.
22076        https://bugs.webkit.org/show_bug.cgi?id=37542
22077
22078        * wml/WMLOptionElement.h:
22079        * wml/WMLSelectElement.h:
22080
220812010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
22082
22083        Reviewed by Kenneth Rohde Christiansen.
22084
22085        [Qt] Null QObjects properties cause Segmentation Fault
22086        https://bugs.webkit.org/show_bug.cgi?id=34730
22087
22088        QObjects exported to the QWebkit javascript with properties that are
22089        a null "QObject*" cause Segmentation Fault.
22090
22091        If an QObject is added to the javascript context and it contains
22092        properties of the type QObject* with NULL value, calling the property
22093        causes Segmentation Fault.
22094        So now the code below properly checks for null pointers:
22095
22096        * bridge/qt/qt_instance.cpp:
22097        (JSC::Bindings::QtInstance::getClass): may return NULL
22098        (JSC::Bindings::QtInstance::getMethod): may return jsNull()
22099        (JSC::Bindings::QtInstance::stringValue): may return jsNull()
22100        (JSC::Bindings::QtInstance::booleanValue): may return false
22101        * bridge/qt/qt_runtime.cpp:
22102        (JSC::Bindings::convertValueToQVariant): 
22103        (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
22104
221052010-04-14  Simon Fraser  <simon.fraser@apple.com>
22106
22107        Reviewed by Dan Bernstein.
22108
22109        Repaint of fixed, transformed element is broken
22110        https://bugs.webkit.org/show_bug.cgi?id=37637
22111
22112        RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
22113        for elements that had both fixed position and a transform. If the element has
22114        a transform, 'fixed' should only remain true if the element itself is fixed
22115        position.
22116        
22117        Also cache style()->position() in a local variable for performance.
22118        
22119        Test: fast/repaint/fixed-tranformed.html
22120
22121        * rendering/RenderBox.cpp:
22122        (WebCore::RenderBox::computeRectForRepaint):
22123
221242010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>
22125
22126        Reviewed by Kenneth Rohde Christiansen.
22127
22128        Changing view mode names due to specification changes
22129        https://bugs.webkit.org/show_bug.cgi?id=37615
22130
22131        test: fast/media/media-feature-wgt-view-mode.html
22132
22133        specification: http://dev.w3.org/2006/waf/widgets-vmmf/
22134
22135        * css/MediaQueryEvaluator.cpp:
22136        (WebCore::view_modeMediaFeatureEval):
22137        * page/ChromeClient.h:
22138        (WebCore::ChromeClient::isWindowed):
22139        (WebCore::ChromeClient::isMaximized):
22140        (WebCore::ChromeClient::isMinimized):
22141
221422010-04-14  Adam Barth  <abarth@webkit.org>
22143
22144        Unreviewed attempt to fix Qt build.
22145
22146        * bindings/js/JSNodeCustom.cpp:
22147
221482010-04-14  Justin Schuh  <jschuh@chromium.org>
22149
22150        Reviewed by Adam Barth.
22151
22152        Javascript URL can be set as iframe.src via multiple DOM aliases
22153        https://bugs.webkit.org/show_bug.cgi?id=37031
22154
22155        Moved frame/iframe checks from Attr to Node on inherited members.
22156        Node child manipulation methods now return NOT_SUPPORTED_ERR if used
22157        on a frame/iframe src attribute.
22158        NamedNodeMap set methods now perform frame/iframe src checks.
22159        Moved allowSettingSrcToJavascriptURL static helper function from 
22160        JSElementCustom.cpp to exported function in JSDOMBinding.h.
22161
22162        * bindings/js/JSAttrCustom.cpp:
22163        (WebCore::JSAttr::setValue):
22164        * bindings/js/JSDOMBinding.cpp:
22165        (WebCore::allowSettingSrcToJavascriptURL):
22166        * bindings/js/JSDOMBinding.h:
22167        * bindings/js/JSElementCustom.cpp:
22168        * bindings/js/JSNamedNodeMapCustom.cpp:
22169        (WebCore::JSNamedNodeMap::setNamedItem):
22170        (WebCore::JSNamedNodeMap::setNamedItemNS):
22171        * bindings/js/JSNodeCustom.cpp:
22172        (WebCore::isAttrFrameSrc):
22173        (WebCore::JSNode::setNodeValue):
22174        (WebCore::JSNode::setTextContent):
22175        (WebCore::JSNode::insertBefore):
22176        (WebCore::JSNode::replaceChild):
22177        (WebCore::JSNode::removeChild):
22178        (WebCore::JSNode::appendChild):
22179        * bindings/v8/custom/V8AttrCustom.cpp:
22180        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
22181        (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
22182        (WebCore::V8NamedNodeMap::setNamedItemCallback):
22183        (WebCore::toV8):
22184        * bindings/v8/custom/V8NodeCustom.cpp:
22185        (WebCore::isFrameSrc):
22186        (WebCore::V8Node::textContentAccessorSetter):
22187        (WebCore::V8Node::nodeValueAccessorSetter):
22188        (WebCore::V8Node::insertBeforeCallback):
22189        (WebCore::V8Node::replaceChildCallback):
22190        (WebCore::V8Node::removeChildCallback):
22191        (WebCore::V8Node::appendChildCallback):
22192        * dom/Attr.idl:
22193        * dom/NamedNodeMap.idl:
22194        * dom/Node.idl:
22195
221962010-04-14  Alejandro G. Castro  <alex@igalia.com>
22197
22198        Reviewed by Xan Lopez.
22199
22200        We have to check if the resource handler is cancelled before
22201        checking the client, other case it could crash.
22202
22203        * platform/network/soup/ResourceHandleSoup.cpp:
22204        (WebCore::parseDataUrl):
22205
222062010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
22207
22208        Unreviewed, rolling out r57609.
22209        http://trac.webkit.org/changeset/57609
22210        https://bugs.webkit.org/show_bug.cgi?id=37614
22211
22212        "Broke multiple builders.  Probably needs new test results,
22213        but may be an Inspector bug." (Requested by eseidel on
22214        #webkit).
22215
22216        * inspector/InspectorController.cpp:
22217        (WebCore::InspectorController::didReceiveResponse):
22218        (WebCore::InspectorController::didFailLoading):
22219        * inspector/front-end/Resource.js:
22220        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
22221        * inspector/front-end/ResourcesPanel.js:
22222        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
22223
222242010-04-14  Steve Falkenburg  <sfalken@apple.com>
22225
22226        Reviewed by Dan Bernstein.
22227
22228        Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
22229        https://bugs.webkit.org/show_bug.cgi?id=37599
22230
22231        * platform/graphics/win/FontCacheWin.cpp:
22232        (WebCore::fontDataFromDescriptionAndLogFont):
22233        (WebCore::FontCache::getLastResortFallbackFont):
22234
222352010-04-14  Andrey Kosyakov  <caseq@chromium.ru>
22236
22237        Reviewed by Timothy Hatcher.
22238
22239        Log error message to inspector console if a resource fails to load.
22240        Disable checking of mime-type consistency for failed resources.
22241        https://bugs.webkit.org/show_bug.cgi?id=37215
22242
22243        Test: inspector/console-resource-errors.html
22244
22245        * inspector/InspectorController.cpp:
22246        (WebCore::InspectorController::didReceiveResponse):
22247        (WebCore::InspectorController::didFailLoading):
22248        * inspector/front-end/Resource.js:
22249        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
22250        * inspector/front-end/ResourcesPanel.js:
22251        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
22252
222532010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
22254
22255        Unreviewed, rolling out r57599.
22256        http://trac.webkit.org/changeset/57599
22257        https://bugs.webkit.org/show_bug.cgi?id=37605
22258
22259        "Broke Chromium build" (Requested by dglazkov on #webkit).
22260
22261        * platform/chromium/PopupMenuChromium.cpp:
22262        (WebCore::PopupContainer::PopupContainer):
22263        (WebCore::PopupContainer::showPopup):
22264        (WebCore::PopupContainer::notifyPopupHidden):
22265        * platform/chromium/PopupMenuChromium.h:
22266
222672010-04-14  Aaron Boodman  <aa@chromium.org>
22268
22269        Reviewed by David Levin.
22270
22271        Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
22272        the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
22273        unsupported. Fixed by resolving the relative URL first.
22274
22275        https://bugs.webkit.org/show_bug.cgi?id=36623
22276
22277        Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
22278
22279        * notifications/Notification.cpp:
22280        (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
22281        * notifications/Notification.h:
22282        (WebCore::Notification::create): Ditto.
22283        (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
22284        * notifications/NotificationCenter.h:
22285        (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
22286        (WebCore::NotificationCenter::createNotification): Ditto.
22287        * notifications/NotificationContents.h:
22288        (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
22289        (WebCore::NotificationContents::icon): Return resolved URL.
22290
222912010-04-14  Anders Carlsson  <andersca@apple.com>
22292
22293        Reviewed by Sam Weinig.
22294
22295        Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
22296        https://bugs.webkit.org/show_bug.cgi?id=37601
22297
22298        * platform/mac/ThemeMac.h:
22299        * platform/mac/ThemeMac.mm:
22300        (-[WebCoreFlippedView isFlipped]):
22301        (WebCore::paintButton):
22302        (WebCore::ThemeMac::ensuredView):
22303
223042010-04-14  Jay Civelli  <jcivelli@chromium.org>
22305 
22306        Reviewed by Dimitri Glazkov.
22307
22308        [chromium] Select popups would assert when destroyed.
22309        https://bugs.webkit.org/show_bug.cgi?id=37436
22310 
22311        * platform/chromium/PopupMenuChromium.cpp:
22312        (WebCore::PopupContainer::PopupContainer):
22313        (WebCore::PopupContainer::showPopup):
22314        (WebCore::PopupContainer::notifyPopupHidden):
22315        * platform/chromium/PopupMenuChromium.h:
22316 
22317
223182010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
22319
22320        Reviewed by Jian Li.
22321
22322        Remove an incorrect ASSERT in UniscribeHelper::draw().
22323        https://bugs.webkit.org/show_bug.cgi?id=37533
22324
22325        * platform/graphics/chromium/UniscribeHelper.cpp:
22326        (WebCore::UniscribeHelper::draw):
22327
223282010-04-14  Pavel Feldman  <pfeldman@chromium.org>
22329
22330        Reviewed by Timothy Hatcher.
22331
22332        Web Inspector: readline shortcuts don't work in Chromium.
22333
22334        * inspector/front-end/TextPrompt.js:
22335        (WebInspector.TextPrompt.prototype._onKeyDown):
22336        (WebInspector.TextPrompt.prototype._moveCaretToStartOfPrompt):
22337
223382010-04-14  Alexander Pavlov  <apavlov@chromium.org>
22339
22340        Reviewed by Timothy Hatcher.
22341
22342        Web Inspector: Console: Shift-Tab does not cycle autocompletions in the reverse order
22343        https://bugs.webkit.org/show_bug.cgi?id=37582
22344
22345        * inspector/front-end/TextPrompt.js:
22346        (WebInspector.TextPrompt.prototype.complete):
22347        (WebInspector.TextPrompt.prototype._completionsReady):
22348        (WebInspector.TextPrompt.prototype._tabKeyPressed):
22349
223502010-04-14  Jeff Schiller  <codedread@gmail.com>
22351
22352        Reviewed by Dirk Schulze.
22353
22354        Render SVG Paths up to first error, bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
22355
22356        * svg/SVGParserUtilities.cpp:
22357        (WebCore::SVGPathSegListBuilder::build):
22358
223592010-04-14  Alexander Pavlov  <apavlov@chromium.org>
22360
22361        Reviewed by Joseph Pecoraro.
22362
22363        Web Inspector: Ctrl-L (Clear History) does nothing on Windows
22364        https://bugs.webkit.org/show_bug.cgi?id=37579
22365
22366        * inspector/front-end/ConsoleView.js:
22367        (WebInspector.ConsoleView):
22368
223692010-04-14  Anton Muhin  <antonm@chromium.org>
22370
22371        Not review, build fix.
22372
22373        Add <limits.h> include to bring UINT_MAX.
22374
22375        * html/canvas/WebGLArray.h:
22376
223772010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
22378
22379        Not reviewed. Attempt to unbreak build - NodeRenderStyle.h is an _interessting_ concept...
22380
22381        * rendering/style/SVGRenderStyle.cpp: Include 'NodeRenderStyle.h'
22382
223832010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>
22384
22385        Reviewed by Dirk Schulze.
22386
22387        SVGRenderStyle/SVGRenderStyleDefs needs a cleanup
22388        https://bugs.webkit.org/show_bug.cgi?id=37568
22389
22390        Cleanup SVGRenderStyle / SVGRenderStyleDefs:
22391        - use copy constructors in initialization list to initialize members, instead of assignment operators in the body
22392        - fix style issues (misplaced references, abbrevations)
22393        - merge StyleClipData/StyleMaskData to save memory, rename it StyleResourceData
22394        - move filter property in StyleResourceData
22395        - rename StyleMarkerData to StyleInheritedResourceData to highlight the difference to StyleResourceData
22396        - unify naming schemes for all resources (filter/clipper/masker/markers)
22397          - clipPath() -> clipperResource()
22398          - maskElement() -> maskerResource()
22399          - startMarker() -> markerStartResource()
22400          - midMarker() -> markerMidResource()
22401          - endMarker() -> markerEndResource()
22402          - filter() -> filterResource()
22403
22404        Adapt all callsites to the renames above.
22405        No new tests, as this doesn't affect anything except memory overhead.
22406
22407        * css/SVGCSSComputedStyleDeclaration.cpp:
22408        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
22409        * css/SVGCSSStyleSelector.cpp:
22410        (WebCore::CSSStyleSelector::applySVGProperty):
22411        * rendering/RenderPath.cpp:
22412        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
22413        * rendering/RenderSVGContainer.cpp:
22414        (WebCore::RenderSVGContainer::selfWillPaint):
22415        * rendering/RenderSVGRoot.cpp:
22416        (WebCore::RenderSVGRoot::selfWillPaint):
22417        * rendering/SVGRenderSupport.cpp:
22418        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
22419        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
22420        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
22421        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
22422        (WebCore::deregisterFromResources):
22423        * rendering/SVGRenderTreeAsText.cpp:
22424        (WebCore::writeStyle):
22425        (WebCore::writeResources):
22426        * rendering/style/SVGRenderStyle.cpp:
22427        (WebCore::SVGRenderStyle::SVGRenderStyle):
22428        (WebCore::SVGRenderStyle::operator==):
22429        (WebCore::SVGRenderStyle::inheritedNotEqual):
22430        (WebCore::SVGRenderStyle::inheritFrom):
22431        * rendering/style/SVGRenderStyle.h:
22432        * rendering/style/SVGRenderStyleDefs.cpp:
22433        (WebCore::StyleFillData::StyleFillData):
22434        (WebCore::StyleFillData::operator==):
22435        (WebCore::StyleStrokeData::StyleStrokeData):
22436        (WebCore::StyleStrokeData::operator==):
22437        (WebCore::StyleStopData::StyleStopData):
22438        (WebCore::StyleStopData::operator==):
22439        (WebCore::StyleTextData::StyleTextData):
22440        (WebCore::StyleMiscData::StyleMiscData):
22441        (WebCore::StyleMiscData::operator==):
22442        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
22443        (WebCore::StyleShadowSVGData::operator==):
22444        (WebCore::StyleResourceData::StyleResourceData):
22445        (WebCore::StyleResourceData::operator==):
22446        (WebCore::StyleInheritedResourceData::StyleInheritedResourceData):
22447        (WebCore::StyleInheritedResourceData::operator==):
22448        * rendering/style/SVGRenderStyleDefs.h:
22449        (WebCore::StyleFillData::operator!=):
22450        (WebCore::StyleStopData::operator!=):
22451        (WebCore::StyleMiscData::create):
22452        (WebCore::StyleMiscData::copy):
22453        (WebCore::StyleMiscData::operator!=):
22454        (WebCore::StyleShadowSVGData::create):
22455        (WebCore::StyleShadowSVGData::copy):
22456        (WebCore::StyleShadowSVGData::operator!=):
22457        (WebCore::StyleResourceData::create):
22458        (WebCore::StyleResourceData::copy):
22459        (WebCore::StyleResourceData::operator!=):
22460        (WebCore::StyleInheritedResourceData::create):
22461        (WebCore::StyleInheritedResourceData::copy):
22462        (WebCore::StyleInheritedResourceData::operator!=):
22463        * svg/SVGDocumentExtensions.cpp:
22464        (WebCore::SVGDocumentExtensions::addResource):
22465        (WebCore::SVGDocumentExtensions::removeResource):
22466        * svg/SVGDocumentExtensions.h:
22467        * svg/SVGStyledElement.cpp:
22468        (WebCore::SVGStyledElement::invalidateResources):
22469
224702010-04-14  Zhenyao Mo  <zmo@google.com>
22471
22472        Reviewed by Dimitri Glazkov.
22473
22474        readPixels must take PACK_ALIGNMENT into account
22475        https://bugs.webkit.org/show_bug.cgi?id=34718
22476
22477        Test: fast/canvas/webgl/read-pixels.html
22478
22479        * html/canvas/WebGLRenderingContext.cpp:
22480        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Init members to support pack_alignment.
22481        (WebCore::WebGLRenderingContext::pixelStorei): Save pack/unpack_alignment.
22482        (WebCore::WebGLRenderingContext::readPixels): Validate enum and deal with pack_alignment.
22483        * html/canvas/WebGLRenderingContext.h: Add members to support pack_alignment.
22484        * platform/graphics/GraphicsContext3D.h: Refactor readPixels.
22485        * platform/graphics/mac/GraphicsContext3DMac.cpp:
22486        (WebCore::GraphicsContext3D::readPixels): Move array allocation and alpha fix to WebGLRenderingContext; flush before read pixels.
22487
224882010-04-13  Dirk Schulze  <krit@webkit.org>
22489
22490        Reviewed by Eric Seidel.
22491
22492        REGRESSION(r57511): many new graphics / svg related leaks
22493        https://bugs.webkit.org/show_bug.cgi?id=37527
22494
22495        The content of a HashMap was not correctly deleted. Fixed this
22496        in the DTor and in invalidateClient of RenderSVGResourceClipper.
22497
22498        * rendering/RenderSVGResourceClipper.cpp:
22499        (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
22500        (WebCore::RenderSVGResourceClipper::invalidateClient):
22501
225022010-04-13  Zhenyao Mo  <zmo@google.com>
22503
22504        Reviewed by Oliver Hunt.
22505
22506        Fix a potential integer overflow in WebGL*Array::slice()
22507        https://bugs.webkit.org/show_bug.cgi?id=37466
22508
22509        * html/canvas/WebGLArray.h:
22510        (WebCore::WebGLArray::clampOffsetAndNumElements): Input parameter "offset"'s semantic changed from in bytes from buffer to in elements from array view; calculate offset in bytes from buffer inside the function, avoiding overflow. 
22511        * html/canvas/WebGLByteArray.cpp:
22512        (WebCore::WebGLByteArray::slice): Changed according to new semantic of WebCore::WebGLArray::clampOffsetAndNumElements.
22513        * html/canvas/WebGLFloatArray.cpp:
22514        (WebCore::WebGLFloatArray::slice): Ditto.
22515        * html/canvas/WebGLIntArray.cpp:
22516        (WebCore::WebGLIntArray::slice): Ditto.
22517        * html/canvas/WebGLShortArray.cpp:
22518        (WebCore::WebGLShortArray::slice): Ditto.
22519        * html/canvas/WebGLUnsignedByteArray.cpp:
22520        (WebCore::WebGLUnsignedByteArray::slice): Ditto.
22521        * html/canvas/WebGLUnsignedIntArray.cpp:
22522        (WebCore::WebGLUnsignedIntArray::slice): Ditto.
22523        * html/canvas/WebGLUnsignedShortArray.cpp:
22524        (WebCore::WebGLUnsignedShortArray::slice): Ditto.
22525
225262010-04-13  Darin Fisher  <darin@chromium.org>
22527
22528        Reviewed by Brady Eidson.
22529
22530        If the browsing context's session history contains only one Document,
22531        and that was the about:blank Document created when the browsing context
22532        was created, then the navigation must be done with replacement enabled.
22533
22534        https://bugs.webkit.org/show_bug.cgi?id=37126
22535
22536        Tests: fast/loader/frame-location-change-not-added-to-history.html
22537               fast/loader/frame-src-change-not-added-to-history.html
22538
22539        * loader/FrameLoader.cpp:
22540        (WebCore::FrameLoader::clientRedirected):
22541        (WebCore::FrameLoader::findFrameForNavigation):
22542        * loader/HistoryController.cpp:
22543        (WebCore::HistoryController::currentItemShouldBeReplaced):
22544        * loader/HistoryController.h:
22545
225462010-04-13  Geoffrey Garen  <ggaren@apple.com>
22547
22548        Reviewed by Oliver Hunt.
22549
22550        Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
22551        its own lifetime, so a DOMWrapperWorld's controller can throw away
22552        its wrappers even before its refcount reaches 0.
22553
22554        * WebCore.base.exp:
22555        * bindings/js/DOMWrapperWorld.cpp:
22556        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
22557        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
22558        (WebCore::DOMWrapperWorld::registerWorld):
22559        (WebCore::DOMWrapperWorld::unregisterWorld):
22560        * bindings/js/DOMWrapperWorld.h: Factored out DOMWrapperWorld registration
22561        and unregistration into helper functions, so unregistering could be done manually.
22562
22563        * bindings/js/ScriptController.cpp:
22564        (WebCore::ScriptController::destroyWindowShell): Added an ASSERT to match
22565        similar code.
22566
225672010-04-13  Chang Shu  <chang.shu@nokia.com>
22568
22569        Reviewed by Darin Fisher.
22570
22571        https://bugs.webkit.org/show_bug.cgi?id=34653
22572
22573        Based on W3C spec and Firefox behavior, while invoking XHR Send with parameter
22574        as String, the charset in Content-Type should be forced to set to UTF-8.
22575
22576        Test: http/tests/xmlhttprequest/request-encoding2.html
22577
22578        * platform/network/HTTPParsers.cpp:
22579        (WebCore::extractCharsetFromMediaType):
22580        (WebCore::findCharsetInMediaType):
22581        * platform/network/HTTPParsers.h:
22582        * xml/XMLHttpRequest.cpp:
22583        (WebCore::setCharsetInMediaType):
22584        (WebCore::XMLHttpRequest::send):
22585
225862010-04-12  Timothy Hatcher  <timothy@apple.com>
22587
22588        SecurityOrigin needs a way to remove individual OriginAccessEntries
22589        https://bugs.webkit.org/show_bug.cgi?id=37449
22590
22591        Test: http/tests/xmlhttprequest/origin-whitelisting-removal.html
22592
22593        Reviewed by Dave Hyatt.
22594
22595        * WebCore.base.exp: Added SecurityOrigin::removeOriginAccessWhitelistEntry.
22596        * page/OriginAccessEntry.h:
22597        (WebCore::OriginAccessEntry::protocol): Added. Returns m_protocol.
22598        (WebCore::OriginAccessEntry::host): Added. Returns m_host.
22599        (WebCore::OriginAccessEntry::subdomainSettings): Added. Returns m_subdomainSettings.
22600        (WebCore::operator==): Added. Compares OriginAccessEntry.
22601        (WebCore::operator!=): Ditto.
22602        * page/SecurityOrigin.cpp:
22603        (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry): Use the add method to prevent a
22604        second hash lookup.
22605        (WebCore::SecurityOrigin::removeOriginAccessWhitelistEntry): Added. Find a matching
22606        OriginAccessEntry and remove it.
22607        * page/SecurityOrigin.h: Added removeOriginAccessWhitelistEntry.
22608
226092010-04-13  Timothy Hatcher  <timothy@apple.com>
22610
22611        Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
22612        And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
22613
22614        SecurityOrigin needs a way to remove individual OriginAccessEntries
22615        https://bugs.webkit.org/show_bug.cgi?id=37449
22616
22617        Reviewed by Dave Hyatt.
22618
22619        * WebCore.base.exp:
22620        * page/SecurityOrigin.cpp:
22621        (WebCore::SecurityOrigin::addOriginAccessWhitelistEntry):
22622        (WebCore::SecurityOrigin::resetOriginAccessWhitelists):
22623        * page/SecurityOrigin.h:
22624
226252010-04-13  Geoffrey Garen  <ggaren@apple.com>
22626
22627        Reviewed by Mark Rowe.
22628
22629        Tidied up some more DOMWrapperWorld lifetime issues.
22630        
22631        Made DOMWrapperWorld aware of its JSDOMWindowShells, so it can clear them.
22632
22633        * bindings/js/DOMWrapperWorld.cpp:
22634        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
22635        * bindings/js/DOMWrapperWorld.h:
22636        (WebCore::DOMWrapperWorld::didCreateWindowShell):
22637        (WebCore::DOMWrapperWorld::didDestroyWindowShell): Functionality for
22638        tracking window shells that reference a given DOMWrapperWorld.
22639
22640        * bindings/js/ScriptController.cpp:
22641        (WebCore::ScriptController::~ScriptController):
22642        (WebCore::ScriptController::destroyWindowShell):
22643        (WebCore::ScriptController::createWindowShell):
22644        (WebCore::ScriptController::clearWindowShell):
22645        (WebCore::ScriptController::initScript):
22646        * bindings/js/ScriptController.h: Refactored to update a DOMWrapperWorld
22647        when adding or removing a JSDOMWindowShell.
22648
22649        * dom/Document.cpp:
22650        (WebCore::Document::destroyAllWrapperCaches): Changed to use isEmpty(),
22651        which is slightly faster and simpler than iterator comparison.
22652
226532010-04-13  Dumitru Daniliuc  <dumi@chromium.org>
22654
22655        Reviewed by Adam Barth.
22656
22657        Make all HTML5 DB callbacks run in the correct context.
22658        https://bugs.webkit.org/show_bug.cgi?id=27698
22659
22660        Tests: storage/statement-error-callback-isolated-world.html
22661               storage/statement-success-callback-isolated-world.html
22662               storage/transaction-callback-isolated-world.html
22663               storage/transaction-error-callback-isolated-world.html
22664
22665        * bindings/js/JSCustomSQLStatementCallback.cpp:
22666        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
22667        (WebCore::JSCustomSQLStatementCallback::handleEvent):
22668        * bindings/js/JSCustomSQLStatementCallback.h:
22669        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
22670        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
22671        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
22672        * bindings/js/JSCustomSQLStatementErrorCallback.h:
22673        * bindings/js/JSCustomSQLTransactionCallback.cpp:
22674        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
22675        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
22676        * bindings/js/JSCustomSQLTransactionCallback.h:
22677        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
22678        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
22679        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
22680        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
22681        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
22682        (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback):
22683        (WebCore::V8CustomSQLStatementCallback::handleEvent):
22684        * bindings/v8/custom/V8CustomSQLStatementCallback.h:
22685        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
22686        (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback):
22687        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
22688        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h:
22689        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
22690        (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback):
22691        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
22692        * bindings/v8/custom/V8CustomSQLTransactionCallback.h:
22693        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
22694        (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback):
22695        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
22696        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h:
22697        * storage/SQLStatement.cpp:
22698        (WebCore::SQLStatement::performCallback):
22699        * storage/SQLStatementCallback.h:
22700        * storage/SQLStatementErrorCallback.h:
22701        * storage/SQLTransaction.cpp:
22702        (WebCore::SQLTransaction::deliverTransactionCallback):
22703        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
22704        * storage/SQLTransactionCallback.h:
22705        * storage/SQLTransactionErrorCallback.h:
22706        (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
22707
227082010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
22709
22710        Reviewed by Pavel Feldman.
22711
22712        Fix search behavior in Profiles tab.
22713
22714        https://bugs.webkit.org/show_bug.cgi?id=37498
22715
22716        * inspector/front-end/ProfileView.js:
22717        (WebInspector.CPUProfileView.profileCallback):
22718        (WebInspector.CPUProfileView):
22719
227202010-04-13  David Hyatt  <hyatt@apple.com>
22721
22722        Reviewed by Oliver Hunt.
22723
22724        https://bugs.webkit.org/show_bug.cgi?id=37513, clean up StyleBoxData and the RenderStyle variable that uses it.
22725
22726        * rendering/style/RenderStyle.cpp:
22727        (WebCore::RenderStyle::RenderStyle):
22728        (WebCore::RenderStyle::operator==):
22729        (WebCore::RenderStyle::diff):
22730        * rendering/style/RenderStyle.h:
22731        (WebCore::):
22732        (WebCore::InheritedFlags::width):
22733        (WebCore::InheritedFlags::height):
22734        (WebCore::InheritedFlags::minWidth):
22735        (WebCore::InheritedFlags::maxWidth):
22736        (WebCore::InheritedFlags::minHeight):
22737        (WebCore::InheritedFlags::maxHeight):
22738        (WebCore::InheritedFlags::verticalAlignLength):
22739        (WebCore::InheritedFlags::boxSizing):
22740        (WebCore::InheritedFlags::setWidth):
22741        (WebCore::InheritedFlags::setHeight):
22742        (WebCore::InheritedFlags::setMinWidth):
22743        (WebCore::InheritedFlags::setMaxWidth):
22744        (WebCore::InheritedFlags::setMinHeight):
22745        (WebCore::InheritedFlags::setMaxHeight):
22746        (WebCore::InheritedFlags::setVerticalAlignLength):
22747        (WebCore::InheritedFlags::hasAutoZIndex):
22748        (WebCore::InheritedFlags::setHasAutoZIndex):
22749        (WebCore::InheritedFlags::zIndex):
22750        (WebCore::InheritedFlags::setZIndex):
22751        (WebCore::InheritedFlags::setBoxSizing):
22752        * rendering/style/StyleBoxData.cpp:
22753        (WebCore::StyleBoxData::StyleBoxData):
22754        (WebCore::StyleBoxData::operator==):
22755        * rendering/style/StyleBoxData.h:
22756        (WebCore::StyleBoxData::width):
22757        (WebCore::StyleBoxData::height):
22758        (WebCore::StyleBoxData::minWidth):
22759        (WebCore::StyleBoxData::minHeight):
22760        (WebCore::StyleBoxData::maxWidth):
22761        (WebCore::StyleBoxData::maxHeight):
22762        (WebCore::StyleBoxData::verticalAlign):
22763        (WebCore::StyleBoxData::zIndex):
22764        (WebCore::StyleBoxData::hasAutoZIndex):
22765        (WebCore::StyleBoxData::boxSizing):
22766
227672010-04-12  yael aharon  <yael.aharon@nokia.com>
22768
22769        Reviewed by Tor Arne Vestbo.
22770
22771        Minor fix to pass RenderProgress instead of RenderObject
22772        https://bugs.webkit.org/show_bug.cgi?id=37481
22773
22774        * accessibility/AXObjectCache.cpp:
22775        (WebCore::AXObjectCache::getOrCreate):
22776        * accessibility/AccessibilityProgressIndicator.cpp:
22777        (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
22778        (WebCore::AccessibilityProgressIndicator::create):
22779        * accessibility/AccessibilityProgressIndicator.h:
22780
227812010-04-13  David Hyatt  <hyatt@apple.com>
22782
22783        Reviewed by Oliver Hunt.
22784
22785        https://bugs.webkit.org/show_bug.cgi?id=37510, clean up StyleBackgroundData
22786
22787        * rendering/style/RenderStyle.cpp:
22788        (WebCore::RenderStyle::RenderStyle):
22789        (WebCore::RenderStyle::operator==):
22790        (WebCore::RenderStyle::diff):
22791        * rendering/style/RenderStyle.h:
22792        (WebCore::):
22793        (WebCore::InheritedFlags::hasBackground):
22794        (WebCore::InheritedFlags::hasBackgroundImage):
22795        (WebCore::InheritedFlags::hasFixedBackgroundImage):
22796        (WebCore::InheritedFlags::outlineWidth):
22797        (WebCore::InheritedFlags::outlineStyle):
22798        (WebCore::InheritedFlags::outlineStyleIsAuto):
22799        (WebCore::InheritedFlags::outlineColor):
22800        (WebCore::InheritedFlags::backgroundColor):
22801        (WebCore::InheritedFlags::backgroundImage):
22802        (WebCore::InheritedFlags::backgroundRepeatX):
22803        (WebCore::InheritedFlags::backgroundRepeatY):
22804        (WebCore::InheritedFlags::backgroundComposite):
22805        (WebCore::InheritedFlags::backgroundAttachment):
22806        (WebCore::InheritedFlags::backgroundClip):
22807        (WebCore::InheritedFlags::backgroundOrigin):
22808        (WebCore::InheritedFlags::backgroundXPosition):
22809        (WebCore::InheritedFlags::backgroundYPosition):
22810        (WebCore::InheritedFlags::backgroundSizeType):
22811        (WebCore::InheritedFlags::backgroundSizeLength):
22812        (WebCore::InheritedFlags::accessBackgroundLayers):
22813        (WebCore::InheritedFlags::backgroundLayers):
22814        (WebCore::InheritedFlags::outlineOffset):
22815        (WebCore::InheritedFlags::resetOutline):
22816        (WebCore::InheritedFlags::setBackgroundColor):
22817        (WebCore::InheritedFlags::setBackgroundXPosition):
22818        (WebCore::InheritedFlags::setBackgroundYPosition):
22819        (WebCore::InheritedFlags::setBackgroundSize):
22820        (WebCore::InheritedFlags::setBackgroundSizeLength):
22821        (WebCore::InheritedFlags::setOutlineWidth):
22822        (WebCore::InheritedFlags::setOutlineStyle):
22823        (WebCore::InheritedFlags::setOutlineColor):
22824        (WebCore::InheritedFlags::clearBackgroundLayers):
22825        (WebCore::InheritedFlags::inheritBackgroundLayers):
22826        (WebCore::InheritedFlags::setOutlineOffset):
22827        * rendering/style/StyleBackgroundData.h:
22828        (WebCore::StyleBackgroundData::background):
22829        (WebCore::StyleBackgroundData::color):
22830        (WebCore::StyleBackgroundData::outline):
22831
228322010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22833
22834        Reviewed by David Levin.
22835
22836        [Haiku] Use the system clipboard instead of a private clipboard.
22837                Fix various problems in the previous implementation.
22838
22839        https://bugs.webkit.org/show_bug.cgi?id=37421
22840
22841        No new tests needed.
22842
22843        * platform/haiku/PasteboardHaiku.cpp:
22844        (WebCore::Pasteboard::~Pasteboard):
22845        (WebCore::Pasteboard::generalPasteboard):
22846            - Don't leak the pasteboard at program exit.
22847        (WebCore::AutoClipboardLocker::AutoClipboardLocker):
22848        (WebCore::AutoClipboardLocker::~AutoClipboardLocker):
22849        (WebCore::AutoClipboardLocker::isLocked):
22850            - helper class for locking a BClipboard.
22851        (WebCore::Pasteboard::writeSelection):
22852            - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
22853            - Make sure we don't end up with unwanted UTF-8 characters for
22854              regular line breaks.
22855        (WebCore::Pasteboard::writePlainText):
22856            - Use AddData(B_MIME_TYPE) as required by clipboard protocol.
22857        (WebCore::Pasteboard::plainText):
22858            - Use FindData(B_MIME_TYPE) as required by clipboard protocol.
22859        (WebCore::Pasteboard::documentFragment):
22860            - Implemented.
22861        (WebCore::Pasteboard::writeURL):
22862            - Needs to use AddData(B_MIME_TYPE) instead of AddString().
22863        (WebCore::Pasteboard::clear):
22864
228652010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22866
22867        Reviewed by David Levin.
22868
22869        [Haiku] Fix bridging Widget to native top-level BView.
22870        https://bugs.webkit.org/show_bug.cgi?id=37419
22871
22872        In the Haiku port, there is no mapping between native widgets
22873        and WebCore Widget instances. There is only a top-level BView
22874        which renders a web page into a bitmap. For certain WebCore widget
22875        functionality, we need to access this BView, like for setting the
22876        current cursor or forcing focus. On the other hand, setting a
22877        platform widget pointer on Widget results into completely different
22878        behavior, like ScrollView tries to forward everything instead of
22879        handling stuff itself. To make this work, the pointer to a "top-level"
22880        BView is stored in every Widget for the Haiku port.
22881
22882        No new tests needed.
22883
22884        * platform/Widget.h:
22885            - Added the m_topLevelPlatformWidget member for the Haiku platform.
22886        (WebCore::Widget::setPlatformWidget):
22887        (WebCore::Widget::topLevelPlatformWidget):
22888        (WebCore::Widget::setTopLevelPlatformWidget):
22889        * platform/haiku/WidgetHaiku.cpp:
22890        (WebCore::AutoPlatformWidgetLocker::AutoPlatformWidgetLocker):
22891        (WebCore::AutoPlatformWidgetLocker::~AutoPlatformWidgetLocker):
22892        (WebCore::AutoPlatformWidgetLocker::isLocked):
22893            - helper class for locking the BView looper thread with a timeout
22894        (WebCore::Widget::Widget):
22895        (WebCore::Widget::setFocus):
22896            - Make sure the top-level view receives keyboard input.
22897        (WebCore::Widget::setCursor):
22898            - Set the cursor on the top-level view.
22899        (WebCore::Widget::show):
22900        (WebCore::Widget::hide):
22901            - Don't show/hide the top-level view, but make the code correct
22902              for whenever we would map an individual BView per Widget.
22903            - Use setSelfVisible() and isParentVisible() like in other ports.
22904
229052010-04-13  Jeremy Moskovich  <jeremy@chromium.org>
22906
22907        Reviewed by David Levin.
22908
22909        Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
22910
22911        https://bugs.webkit.org/show_bug.cgi?id=36426
22912
22913        No new tests as there is no new functionality.
22914
22915        * loader/FrameLoader.cpp:
22916        (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
22917
229182010-04-13  Abhishek Arya  <inferno@chromium.org>
22919
22920        Reviewed by Adam Barth.
22921
22922        Add a null ptr check for m_popupClient.
22923
22924        * platform/chromium/PopupMenuChromium.cpp:
22925        (WebCore::PopupListBox::abandon): Add a null ptr check
22926
229272010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22928
22929        Reviewed by David Levin.
22930
22931        [Haiku] Use the system's default font family as last fall back font.
22932        https://bugs.webkit.org/show_bug.cgi?id=37501
22933
22934        No new tests needed.
22935
22936        * platform/graphics/haiku/FontCacheHaiku.cpp:
22937        (WebCore::FontCache::getLastResortFallbackFont):
22938            - Use the system's default font family (from be_plain_font global).
22939
229402010-04-13  Eskil Blomfeldt <eblomfel@trolltech.com>, Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
22941
22942        Reviewed by Simon Hausmann.
22943
22944        [Qt] Use integer pixel metric QFont API to fix rounding errors in text rendering on the Mac
22945        https://bugs.webkit.org/show_bug.cgi?id=36532
22946
22947        * platform/graphics/qt/FontQt.cpp:
22948        (WebCore::Font::floatWidthForComplexText):
22949        (WebCore::Font::font):
22950
229512010-04-13  Alexander Pavlov  <apavlov@chromium.org>
22952
22953        Reviewed by Pavel Feldman.
22954
22955        Web Inspector: Cannot effectively delete properties in the Styles sidebar pane
22956        https://bugs.webkit.org/show_bug.cgi?id=37499
22957
22958        * inspector/InspectorDOMAgent.cpp:
22959        (WebCore::InspectorDOMAgent::applyStyleText):
22960
229612010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22962
22963        Reviewed by David Levin.
22964
22965        Use the Haiku MIME type data base as a fall back for unknown file extensions.
22966        https://bugs.webkit.org/show_bug.cgi?id=34686
22967
22968        Covered by existing tests.
22969
22970        * platform/haiku/MIMETypeRegistryHaiku.cpp:
22971        (WebCore::):
22972            - fixed coding style issues
22973        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
22974            - fall back to the system MIME database for unknown types.
22975            - return empty String as last resort, this is used
22976              elsewhere as indicator for unknown types.
22977
229782010-04-13  Stephan Aßmus  <superstippi@gmx.de>
22979
22980        Reviewed by David Levin.
22981
22982        [Haiku] Use all the new system cursors available in recent Haiku revisions.
22983        <https://bugs.webkit.org/show_bug.cgi?id=37385>
22984
22985        Covered by existing tests.
22986
22987        * platform/haiku/CursorHaiku.cpp:
22988        (WebCore::Cursor::Cursor):
22989        (WebCore::Cursor::~Cursor):
22990        (WebCore::Cursor::operator=):
22991            - Adapted to maintain an owned BCursor instance.
22992        (WebCore::createCursorByID):
22993            - helper function to create a Cursor instance by BCursorID constant.
22994        (WebCore::pointerCursor):
22995            - NULL BCursor triggers using the system cursor.
22996        (WebCore::moveCursor):
22997        (WebCore::crossCursor):
22998        (WebCore::handCursor):
22999        (WebCore::iBeamCursor):
23000        (WebCore::waitCursor):
23001        (WebCore::helpCursor):
23002        (WebCore::eastResizeCursor):
23003        (WebCore::northResizeCursor):
23004        (WebCore::northEastResizeCursor):
23005        (WebCore::northWestResizeCursor):
23006        (WebCore::southResizeCursor):
23007        (WebCore::southEastResizeCursor):
23008        (WebCore::southWestResizeCursor):
23009        (WebCore::westResizeCursor):
23010        (WebCore::northSouthResizeCursor):
23011        (WebCore::eastWestResizeCursor):
23012        (WebCore::northEastSouthWestResizeCursor):
23013        (WebCore::northWestSouthEastResizeCursor):
23014        (WebCore::columnResizeCursor):
23015        (WebCore::rowResizeCursor):
23016        (WebCore::verticalTextCursor):
23017        (WebCore::cellCursor):
23018        (WebCore::contextMenuCursor):
23019        (WebCore::noDropCursor):
23020        (WebCore::copyCursor):
23021        (WebCore::progressCursor):
23022        (WebCore::aliasCursor):
23023        (WebCore::noneCursor):
23024        (WebCore::notAllowedCursor):
23025        (WebCore::zoomInCursor):
23026        (WebCore::zoomOutCursor):
23027        (WebCore::grabCursor):
23028        (WebCore::grabbingCursor):
23029            - Use the new system cursors.
23030
230312010-04-13  Dirk Schulze  <krit@webkit.org>
23032
23033        Reviewed by Nikolas Zimmermann.
23034
23035        <clipPath> doesn't correctly handle <text> elements
23036        https://bugs.webkit.org/show_bug.cgi?id=12571
23037
23038        Adds support for text elements as clipPath, heterogenous clip rules, as well
23039        as clipping of clipPath.
23040        A fast code path let platforms clip simple shapes directly. All other variants
23041        are drawn to a seperate ImageBuffer, which is used as a mask. This happens the same
23042        way we like we do it on SVG Masking. This needs temporary changes to the RenderStyle
23043        of clipPath childs. Values like stroke, resources, opacity have to be ignored.
23044
23045        Tests: svg/clip-path/clip-path-child-clipped.svg
23046               svg/clip-path/clip-path-childs-clipped.svg
23047               svg/clip-path/clip-path-clipped-evenodd-twice.svg
23048               svg/clip-path/clip-path-clipped-no-content.svg
23049               svg/clip-path/clip-path-clipped-nonzero.svg
23050               svg/clip-path/clip-path-clipped.svg
23051               svg/clip-path/clip-path-evenodd-nonzero.svg
23052               svg/clip-path/clip-path-evenodd.svg
23053               svg/clip-path/clip-path-nonzero-evenodd.svg
23054               svg/clip-path/clip-path-nonzero.svg
23055               svg/clip-path/clip-path-objectBoundingBox.svg
23056               svg/clip-path/clip-path-on-clipped-use.svg
23057               svg/clip-path/clip-path-on-g-and-child.svg
23058               svg/clip-path/clip-path-on-g.svg
23059               svg/clip-path/clip-path-on-svg-and-child.svg
23060               svg/clip-path/clip-path-on-svg.svg
23061               svg/clip-path/clip-path-recursive-call-by-child.svg
23062               svg/clip-path/clip-path-recursive-call.svg
23063               svg/clip-path/clip-path-text-and-shape.svg
23064               svg/clip-path/clip-path-text-and-stroke.svg
23065               svg/clip-path/clip-path-text.svg
23066               svg/clip-path/clip-path-use-as-child.svg
23067               svg/clip-path/clip-path-use-as-child2.svg
23068               svg/clip-path/clip-path-use-as-child3.svg
23069               svg/clip-path/clip-path-use-as-child4.svg
23070               svg/clip-path/clip-path-use-as-child5.svg
23071               svg/clip-path/clip-path-userSpaceOnUse.svg
23072               svg/clip-path/clip-path-with-container.svg
23073               svg/clip-path/clip-path-with-different-unittypes.svg
23074               svg/clip-path/clip-path-with-different-unittypes2.svg
23075               svg/clip-path/clip-path-with-invisibile-child.svg
23076               svg/clip-path/clip-path-with-text-clipped.svg
23077
23078        * rendering/RenderObject.h:
23079        (WebCore::RenderObject::isSVGShadowTreeRootContainer): identify use-element renderer
23080        * rendering/RenderSVGResourceClipper.cpp:
23081        (WebCore::RenderSVGResourceClipper::invalidateClients):
23082        (WebCore::RenderSVGResourceClipper::invalidateClient):
23083        (WebCore::RenderSVGResourceClipper::applyResource):
23084        (WebCore::RenderSVGResourceClipper::pathOnlyClipping): direct clipping for simple shapes
23085        (WebCore::RenderSVGResourceClipper::applyClippingToContext): direct clipping or maskImage?
23086        (WebCore::RenderSVGResourceClipper::createClipData): creates maskImage for clipping
23087        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
23088        * rendering/RenderSVGResourceClipper.h:
23089        * rendering/RenderSVGShadowTreeRootContainer.h: identify use-Element by renderer
23090        (WebCore::RenderSVGShadowTreeRootContainer::isSVGShadowTreeRootContainer):
23091        * rendering/SVGRenderSupport.cpp:
23092        (WebCore::renderSubtreeToImage): hack to get texts working on clipping (masks and pattern)
23093        * svg/SVGUseElement.cpp:
23094        (WebCore::SVGUseElement::rendererClipChild): get renderer of referenced object
23095        * svg/SVGUseElement.h:
23096
230972010-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
23098
23099        Reviewed by Dirk Schulze.
23100
23101        SVG renderers should track transform/path changes, instead of pulling every time from SVG DOM
23102        https://bugs.webkit.org/show_bug.cgi?id=15389
23103
23104        RenderPath caches repaint rectangles (fill/stroke bbox etc.) though this caching
23105        was effectively useless because every layout() call caused them to be reset to empty rects.
23106        Furthermore RenderPath::layout() queried the SVG DOM upon every invocation to retrieve
23107        the Path object, instead of only doing it when necessary. Even the TransformationMatrix
23108        was polled everytime from the SVG DOM.
23109
23110        Move the knownledge wheter we need to update path/transform into the render tree and
23111        only update when necessary. This should result in a huge performance increase, with
23112        the drawback of adding slightly more memory, because we need to add booleans indicating
23113        the status of path/transform (is dirty?).
23114
23115        Doesn't affect any tests, only performance.
23116
23117        * rendering/RenderForeignObject.cpp:
23118        (WebCore::RenderForeignObject::RenderForeignObject):
23119        (WebCore::RenderForeignObject::layout):
23120        * rendering/RenderForeignObject.h:
23121        (WebCore::RenderForeignObject::setNeedsTransformUpdate):
23122        * rendering/RenderObject.h:
23123        (WebCore::RenderObject::setNeedsTransformUpdate):
23124        (WebCore::RenderObject::setNeedsBoundariesUpdate):
23125        * rendering/RenderPath.cpp:
23126        (WebCore::RenderPath::RenderPath):
23127        (WebCore::RenderPath::layout):
23128        (WebCore::RenderPath::invalidateCachedBoundaries):
23129        (WebCore::RenderPath::styleWillChange):
23130        * rendering/RenderPath.h:
23131        (WebCore::RenderPath::setNeedsBoundariesUpdate):
23132        (WebCore::RenderPath::setNeedsPathUpdate):
23133        (WebCore::RenderPath::setNeedsTransformUpdate):
23134        (WebCore::RenderPath::localToParentTransform):
23135        (WebCore::RenderPath::localTransform):
23136        * rendering/RenderSVGImage.cpp:
23137        (WebCore::RenderSVGImage::RenderSVGImage):
23138        (WebCore::RenderSVGImage::layout):
23139        * rendering/RenderSVGImage.h:
23140        (WebCore::RenderSVGImage::setNeedsTransformUpdate):
23141        * rendering/RenderSVGResourceClipper.cpp:
23142        (WebCore::RenderSVGResourceClipper::invalidateClients):
23143        * rendering/RenderSVGResourceMarker.cpp:
23144        (WebCore::RenderSVGResourceMarker::invalidateClients):
23145        * rendering/RenderSVGResourceMasker.cpp:
23146        (WebCore::RenderSVGResourceMasker::invalidateClients):
23147        * rendering/RenderSVGText.cpp:
23148        (WebCore::RenderSVGText::RenderSVGText):
23149        (WebCore::RenderSVGText::layout):
23150        * rendering/RenderSVGText.h:
23151        (WebCore::RenderSVGText::setNeedsTransformUpdate):
23152        * rendering/RenderSVGTransformableContainer.cpp:
23153        (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
23154        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
23155        * rendering/RenderSVGTransformableContainer.h:
23156        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
23157        (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
23158        (WebCore::RenderSVGTransformableContainer::localTransform):
23159        * svg/SVGAnimateMotionElement.cpp:
23160        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
23161        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
23162        * svg/SVGAnimateTransformElement.cpp:
23163        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
23164        * svg/SVGCircleElement.cpp:
23165        (WebCore::SVGCircleElement::svgAttributeChanged):
23166        * svg/SVGEllipseElement.cpp:
23167        (WebCore::SVGEllipseElement::svgAttributeChanged):
23168        * svg/SVGForeignObjectElement.cpp:
23169        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
23170        * svg/SVGGElement.cpp:
23171        (WebCore::SVGGElement::svgAttributeChanged):
23172        * svg/SVGImageElement.cpp:
23173        (WebCore::SVGImageElement::svgAttributeChanged):
23174        * svg/SVGLineElement.cpp:
23175        (WebCore::SVGLineElement::svgAttributeChanged):
23176        * svg/SVGPathElement.cpp:
23177        (WebCore::SVGPathElement::svgAttributeChanged):
23178        * svg/SVGPolyElement.cpp:
23179        (WebCore::SVGPolyElement::svgAttributeChanged):
23180        * svg/SVGRectElement.cpp:
23181        (WebCore::SVGRectElement::svgAttributeChanged):
23182        * svg/SVGTextElement.cpp:
23183        (WebCore::SVGTextElement::svgAttributeChanged):
23184        * svg/SVGUseElement.cpp:
23185        (WebCore::SVGUseElement::svgAttributeChanged):
23186
231872010-04-13  Mikhail Naganov  <mnaganov@chromium.org>
23188
23189        Unreviewed Qt build fix: add new .idl files to WebCore.pri
23190
23191        * WebCore.pri:
23192
231932010-04-12  Mikhail Naganov  <mnaganov@chromium.org>
23194
23195        Reviewed by Yury Semikhatsky.
23196
23197        Replace hand-written JavaScriptProfile* bindings with idl-based, and
23198        in Chromium port, bind them to the new V8's profiler API that is
23199        aligned with JSC.
23200
23201        https://bugs.webkit.org/show_bug.cgi?id=37448
23202
23203        * DerivedSources.cpp:
23204        * DerivedSources.make:
23205        * GNUmakefile.am:
23206        * WebCore.gypi:
23207        * WebCore.pro:
23208        * WebCore.vcproj/WebCore.vcproj:
23209        * WebCore.xcodeproj/project.pbxproj:
23210        * bindings/js/JSBindingsAllInOne.cpp:
23211        * bindings/js/JSConsoleCustom.cpp:
23212        * bindings/js/JSScriptProfileNodeCustom.cpp: Added.
23213        (WebCore::JSScriptProfileNode::callUID):
23214        (WebCore::JSScriptProfileNode::children):
23215        * bindings/js/JavaScriptProfile.cpp: Removed.
23216        * bindings/js/JavaScriptProfile.h: Removed.
23217        * bindings/js/JavaScriptProfileNode.cpp: Removed.
23218        * bindings/js/JavaScriptProfileNode.h: Removed.
23219        * bindings/js/ScriptProfileNode.h: Added.
23220        * bindings/scripts/CodeGeneratorJS.pm:
23221        * bindings/scripts/CodeGeneratorV8.pm:
23222        * bindings/v8/ScriptProfile.cpp: Added.
23223        (WebCore::ScriptProfile::title):
23224        (WebCore::ScriptProfile::uid):
23225        (WebCore::ScriptProfile::head):
23226        * bindings/v8/ScriptProfile.h:
23227        (WebCore::ScriptProfile::create):
23228        (WebCore::ScriptProfile::ScriptProfile):
23229        * bindings/v8/ScriptProfileNode.cpp: Added.
23230        (WebCore::ScriptProfileNode::functionName):
23231        (WebCore::ScriptProfileNode::url):
23232        (WebCore::ScriptProfileNode::lineNumber):
23233        (WebCore::ScriptProfileNode::totalTime):
23234        (WebCore::ScriptProfileNode::selfTime):
23235        (WebCore::ScriptProfileNode::numberOfCalls):
23236        (WebCore::ScriptProfileNode::children):
23237        (WebCore::ScriptProfileNode::visible):
23238        (WebCore::ScriptProfileNode::callUID):
23239        * bindings/v8/ScriptProfileNode.h: Added.
23240        (WebCore::ScriptProfileNode::create):
23241        (WebCore::ScriptProfileNode::~ScriptProfileNode):
23242        (WebCore::ScriptProfileNode::ScriptProfileNode):
23243        * bindings/v8/ScriptProfiler.cpp:
23244        (WebCore::ScriptProfiler::start):
23245        (WebCore::ScriptProfiler::stop):
23246        * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
23247        (WebCore::V8Console::profilesAccessorGetter):
23248        * bindings/v8/custom/V8ScriptProfileCustom.cpp: Added.
23249        (WebCore::toV8):
23250        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Added.
23251        (WebCore::V8ScriptProfileNode::childrenAccessorGetter):
23252        (WebCore::V8ScriptProfileNode::callUIDAccessorGetter):
23253        (WebCore::toV8):
23254        * inspector/InspectorController.cpp:
23255        (WebCore::InspectorController::getProfile):
23256        * inspector/ScriptProfile.idl: Added.
23257        * inspector/ScriptProfileNode.idl: Added.
23258        * inspector/front-end/InspectorBackendStub.js:
23259        (.WebInspector.InspectorBackendStub.prototype.getProfile):
23260        * inspector/front-end/ProfilesPanel.js:
23261        (WebInspector.ProfilesPanel.prototype.populateInterface):
23262        (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
23263        * page/Console.idl:
23264        * platform/android/TemporaryLinkStubs.cpp:
23265
232662010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
23267
23268        Reviewed by Simon Fraser.
23269
23270        Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
23271        https://bugs.webkit.org/show_bug.cgi?id=37461
23272
23273        getRect() of Element can be used instead of absoluteClippedOverflowRect of RenderObject when
23274        the node is currently offscreen in an scroll overflowed content.
23275
23276        Test: fast/events/spatial-navigation/snav-simple-content-overflow.html
23277
23278        * page/SpatialNavigation.cpp:
23279        (WebCore::renderRectRelativeToRootDocument):
23280
232812010-04-12  Antonio Gomes  <tonikitoo@webkit.org>
23282
23283        Unreviewed style fix.
23284
23285        * page/FocusController.cpp:
23286        (WebCore::updateFocusCandidateIfCloser):
23287
232882010-04-08  yael aharon  <yael.aharon@nokia.com>
23289
23290        Reviewed by Darin Adler.
23291
23292        Accessibility support for progress element
23293        https://bugs.webkit.org/show_bug.cgi?id=37275
23294
23295        Implement AccessibilityProgressIndicator to hook up progress element to accessibility framework.
23296
23297        Test: platform/mac/accessibility/progressbar.html
23298
23299        * GNUmakefile.am:
23300        * WebCore.gypi:
23301        * WebCore.pro:
23302        * WebCore.vcproj/WebCore.vcproj:
23303        * WebCore.xcodeproj/project.pbxproj:
23304        * accessibility/AXObjectCache.cpp:
23305        (WebCore::AXObjectCache::getOrCreate):
23306        * accessibility/AccessibilityProgressIndicator.cpp: Added.
23307        (WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
23308        (WebCore::AccessibilityProgressIndicator::create):
23309        (WebCore::AccessibilityProgressIndicator::accessibilityIsIgnored):
23310        (WebCore::AccessibilityProgressIndicator::valueForRange):
23311        (WebCore::AccessibilityProgressIndicator::maxValueForRange):
23312        (WebCore::AccessibilityProgressIndicator::minValueForRange):
23313        (WebCore::AccessibilityProgressIndicator::element):
23314        * accessibility/AccessibilityProgressIndicator.h: Added.
23315        (WebCore::AccessibilityProgressIndicator::roleValue):
23316        (WebCore::AccessibilityProgressIndicator::isProgressIndicator):
23317        * rendering/RenderProgress.cpp:
23318        (WebCore::RenderProgress::updateFromElement):
23319        (WebCore::RenderProgress::progressElement):
23320        * rendering/RenderProgress.h:
23321
233222010-04-12  Dumitru Daniliuc  <dumi@chromium.org>
23323
23324        Reviewed by Dimitri Glazkov.
23325
23326        Throwing a SECURITY_ERR when openDatabase() cannot open a database
23327        for whatever reason, as required by the spec.
23328        https://bugs.webkit.org/show_bug.cgi?id=33916
23329
23330        * bindings/js/JSDOMWindowCustom.cpp:
23331        (WebCore::JSDOMWindow::openDatabase):
23332        * bindings/v8/custom/V8DOMWindowCustom.cpp:
23333        (WebCore::V8DOMWindow::openDatabaseCallback):
23334
233352010-04-12  Steve Falkenburg  <sfalken@apple.com>
23336
23337        Reviewed by Dan Bernstein.
23338
23339        WebKit should have more robust last-chance font fallback on Windows
23340        https://bugs.webkit.org/show_bug.cgi?id=37473
23341        <rdar://problem/7789438> Crash in FontFallbackList::determinePitch
23342        <rdar://problem/7233762> Crash in FontFallbackList::fontDataAt
23343        
23344        Look harder for a suitable last-resort font. Previously, we checked for
23345        "Times New Roman" followed by DEFAULT_GUI_FONT.
23346        
23347        We now look for:
23348        - Typically installed Unicode-capable fonts, in order of coverage
23349        - DEFAULT_GUI_FONT
23350        - SPI_GETNONCLIENTMETRICS fonts
23351        
23352        * platform/graphics/win/FontCacheWin.cpp:
23353        (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
23354        (WebCore::FontCache::getLastResortFallbackFont):
23355
233562010-04-12  David Hyatt  <hyatt@apple.com>
23357
23358        Reviewed by Dan Bernstein.
23359
23360        https://bugs.webkit.org/show_bug.cgi?id=37469, clean up ShadowData to be encapsulated properly.
23361
23362        * css/CSSComputedStyleDeclaration.cpp:
23363        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
23364        * page/animation/AnimationBase.cpp:
23365        (WebCore::blendFunc):
23366        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
23367        (WebCore::PropertyWrapperShadow::equals):
23368        (WebCore::PropertyWrapperShadow::blend):
23369        * page/mac/FrameMac.mm:
23370        (WebCore::Frame::fontAttributesForSelectionStart):
23371        * rendering/EllipsisBox.cpp:
23372        (WebCore::EllipsisBox::paint):
23373        * rendering/InlineFlowBox.cpp:
23374        (WebCore::InlineFlowBox::placeBoxesHorizontally):
23375        (WebCore::InlineFlowBox::computeVerticalOverflow):
23376        (WebCore::InlineFlowBox::paintTextDecorations):
23377        * rendering/InlineTextBox.cpp:
23378        (WebCore::paintTextWithShadows):
23379        (WebCore::InlineTextBox::paint):
23380        (WebCore::InlineTextBox::paintDecoration):
23381        * rendering/InlineTextBox.h:
23382        * rendering/RenderBoxModelObject.cpp:
23383        (WebCore::RenderBoxModelObject::paintBoxShadow):
23384        * rendering/RenderLayer.cpp:
23385        (WebCore::RenderLayer::calculateRects):
23386        * rendering/RenderObject.cpp:
23387        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
23388        * rendering/SVGInlineTextBox.cpp:
23389        (WebCore::SVGInlineTextBox::paintCharacters):
23390        * rendering/SVGRenderSupport.cpp:
23391        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
23392        * rendering/style/RenderStyle.cpp:
23393        (WebCore::RenderStyle::setTextShadow):
23394        (WebCore::RenderStyle::setBoxShadow):
23395        (WebCore::RenderStyle::getBoxShadowExtent):
23396        (WebCore::RenderStyle::getBoxShadowHorizontalExtent):
23397        (WebCore::RenderStyle::getBoxShadowVerticalExtent):
23398        * rendering/style/RenderStyle.h:
23399        (WebCore::InheritedFlags::textShadow):
23400        (WebCore::InheritedFlags::boxShadow):
23401        * rendering/style/SVGRenderStyle.cpp:
23402        (WebCore::getSVGShadowExtent):
23403        * rendering/style/ShadowData.cpp:
23404        (WebCore::ShadowData::ShadowData):
23405        (WebCore::ShadowData::operator==):
23406        * rendering/style/ShadowData.h:
23407        (WebCore::ShadowData::ShadowData):
23408        (WebCore::ShadowData::~ShadowData):
23409        (WebCore::ShadowData::x):
23410        (WebCore::ShadowData::y):
23411        (WebCore::ShadowData::blur):
23412        (WebCore::ShadowData::spread):
23413        (WebCore::ShadowData::style):
23414        (WebCore::ShadowData::color):
23415        (WebCore::ShadowData::next):
23416        (WebCore::ShadowData::setNext):
23417
234182010-04-12  David Hyatt  <hyatt@apple.com>
23419
23420        Reviewed by Mark Rowe.
23421
23422        https://bugs.webkit.org/show_bug.cgi?id=37463, clean up NinePieceImage.
23423
23424        * css/CSSComputedStyleDeclaration.cpp:
23425        (WebCore::valueForNinePieceImage):
23426        * css/CSSStyleSelector.cpp:
23427        (WebCore::CSSStyleSelector::mapNinePieceImage):
23428        * rendering/RenderBoxModelObject.cpp:
23429        (WebCore::RenderBoxModelObject::paintNinePieceImage):
23430        * rendering/style/NinePieceImage.h:
23431        (WebCore::NinePieceImage::setImage):
23432        (WebCore::NinePieceImage::slices):
23433        (WebCore::NinePieceImage::setSlices):
23434        (WebCore::NinePieceImage::setHorizontalRule):
23435        (WebCore::NinePieceImage::verticalRule):
23436        (WebCore::NinePieceImage::setVerticalRule):
23437
234382010-04-12  David Hyatt  <hyatt@apple.com>
23439
23440        Reviewed by Sam Weinig.
23441
23442        https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.
23443
23444        Added fast/history/multiple-classes-visited.html.
23445
23446        * css/CSSStyleSelector.cpp:
23447        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
23448
234492010-04-12  Dirk Schulze  <krit@webkit.org>
23450
23451        Unreviewed build fix.
23452
23453        Make comma/whitespace around arc flags optional in SVG path syntax
23454        https://bugs.webkit.org/show_bug.cgi?id=37431
23455
23456        Fix the SL build.
23457
23458        * svg/SVGParserUtilities.cpp:
23459        (WebCore::parseArcFlag):
23460
234612010-04-12  Jeff Schiller  <codedread@gmail.com>
23462
23463        Reviewed by Dirk Schulze.
23464
23465        Make comma/whitespace around arc flags optional in SVG path syntax and ensure flags are
23466        either 0 or 1: https://bugs.webkit.org/show_bug.cgi?id=37431
23467
23468        * svg/SVGParserUtilities.cpp:
23469        (WebCore::parseArcFlag): function to read in a 0 or 1 for largeArcFlag and sweepFlag
23470        (WebCore::SVGPathParser::parseSVG): modify/simplify arc parsing by using parseArcFlag()
23471
234722010-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
23473
23474        Unreviewed, rolling out r57468.
23475        http://trac.webkit.org/changeset/57468
23476        https://bugs.webkit.org/show_bug.cgi?id=37433
23477
23478        Broke the world...  Must have applied the patch wrong
23479        (Requested by abarth on #webkit).
23480
23481        * Android.mk:
23482        * GNUmakefile.am:
23483        * WebCore.base.exp:
23484        * WebCore.gypi:
23485        * WebCore.pro:
23486        * WebCore.vcproj/WebCore.vcproj:
23487        * WebCore.xcodeproj/project.pbxproj:
23488        * bindings/ScriptControllerBase.cpp:
23489        (WebCore::ScriptController::executeIfJavaScriptURL):
23490        * dom/Document.cpp:
23491        (WebCore::Document::close):
23492        * dom/ProcessingInstruction.cpp:
23493        (WebCore::ProcessingInstruction::checkStyleSheet):
23494        * dom/ScriptElement.cpp:
23495        (WebCore::ScriptElementData::scriptCharset):
23496        * html/HTMLLinkElement.cpp:
23497        (WebCore::HTMLLinkElement::process):
23498        * loader/DocLoader.cpp:
23499        (WebCore::DocLoader::requestPreload):
23500        * loader/DocumentLoader.cpp:
23501        (WebCore::DocumentLoader::finishedLoading):
23502        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
23503        * loader/DocumentWriter.cpp: Removed.
23504        * loader/DocumentWriter.h: Removed.
23505        * loader/FrameLoader.cpp:
23506        (WebCore::canReferToParentFrameEncoding):
23507        (WebCore::FrameLoader::FrameLoader):
23508        (WebCore::FrameLoader::init):
23509        (WebCore::FrameLoader::replaceDocument):
23510        (WebCore::FrameLoader::clear):
23511        (WebCore::FrameLoader::receivedFirstData):
23512        (WebCore::FrameLoader::responseMIMEType):
23513        (WebCore::FrameLoader::setResponseMIMEType):
23514        (WebCore::FrameLoader::begin):
23515        (WebCore::FrameLoader::write):
23516        (WebCore::FrameLoader::end):
23517        (WebCore::FrameLoader::endIfNotLoadingMainResource):
23518        (WebCore::FrameLoader::encoding):
23519        (WebCore::FrameLoader::setEncoding):
23520        (WebCore::FrameLoader::addData):
23521        (WebCore::FrameLoader::transitionToCommitted):
23522        (WebCore::FrameLoader::open):
23523        (WebCore::FrameLoader::finishedLoadingDocument):
23524        (WebCore::FrameLoader::addExtraFieldsToRequest):
23525        * loader/FrameLoader.h:
23526        * loader/MediaDocument.cpp:
23527        (WebCore::MediaDocument::replaceMediaElementTimerFired):
23528        * loader/PluginDocument.cpp:
23529        (WebCore::PluginTokenizer::createDocumentStructure):
23530        * platform/network/FormDataBuilder.cpp:
23531        (WebCore::FormDataBuilder::dataEncoding):
23532        * svg/graphics/SVGImage.cpp:
23533        (WebCore::SVGImage::dataChanged):
23534
235352010-04-11  Adam Barth  <abarth@webkit.org>
23536
23537        Reviewed by Eric Seidel.
23538
23539        Factor DocumentWriter out of FrameLoader
23540        https://bugs.webkit.org/show_bug.cgi?id=37175
23541
23542        This patch separates the begin/write/end cycle of decoding network
23543        bytes and putting them into a document from the rest of the loading
23544        machinery.  The code and state required to write bytes into a document
23545        doesn't interact very much with the rest of the loading machinery.
23546
23547        No tests because there is no behavior change (hopefully!).
23548
23549        * Android.mk:
23550        * GNUmakefile.am:
23551        * WebCore.base.exp:
23552        * WebCore.gypi:
23553        * WebCore.pro:
23554        * WebCore.vcproj/WebCore.vcproj:
23555        * WebCore.xcodeproj/project.pbxproj:
23556        * bindings/ScriptControllerBase.cpp:
23557        (WebCore::ScriptController::executeIfJavaScriptURL):
23558        * dom/Document.cpp:
23559        (WebCore::Document::close):
23560        * dom/ProcessingInstruction.cpp:
23561        (WebCore::ProcessingInstruction::checkStyleSheet):
23562        * dom/ScriptElement.cpp:
23563        (WebCore::ScriptElementData::scriptCharset):
23564        * html/HTMLLinkElement.cpp:
23565        (WebCore::HTMLLinkElement::process):
23566        * loader/DocLoader.cpp:
23567        (WebCore::DocLoader::requestPreload):
23568        * loader/DocumentLoader.cpp:
23569        (WebCore::DocumentLoader::finishedLoading):
23570        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
23571        * loader/DocumentWriter.cpp: Added.
23572        * loader/DocumentWriter.h: Added.
23573        * loader/FrameLoader.cpp:
23574        (WebCore::FrameLoader::FrameLoader):
23575        (WebCore::FrameLoader::init):
23576        (WebCore::FrameLoader::clear):
23577        (WebCore::FrameLoader::receivedFirstData):
23578        (WebCore::FrameLoader::setURL):
23579        (WebCore::FrameLoader::didBeginDocument):
23580        (WebCore::FrameLoader::didEndDocument):
23581        (WebCore::FrameLoader::willSetEncoding):
23582        (WebCore::FrameLoader::addData):
23583        (WebCore::FrameLoader::transitionToCommitted):
23584        (WebCore::FrameLoader::open):
23585        (WebCore::FrameLoader::finishedLoadingDocument):
23586        (WebCore::FrameLoader::addExtraFieldsToRequest):
23587        * loader/FrameLoader.h:
23588        (WebCore::FrameLoader::writer):
23589        (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
23590        * loader/MediaDocument.cpp:
23591        (WebCore::MediaDocument::replaceMediaElementTimerFired):
23592        * loader/PluginDocument.cpp:
23593        (WebCore::PluginTokenizer::createDocumentStructure):
23594        * platform/network/FormDataBuilder.cpp:
23595        (WebCore::FormDataBuilder::dataEncoding):
23596        * svg/graphics/SVGImage.cpp:
23597        (WebCore::SVGImage::dataChanged):
23598
235992010-04-07  Tony Chang  <tony@chromium.org>
23600
23601        Reviewed by Eric Seidel.
23602
23603        [chromium] implement getData('text/html') for paste and drop events
23604        https://bugs.webkit.org/show_bug.cgi?id=37193
23605
23606        Tests: editing/pasteboard/onpaste-text-html.html
23607               fast/events/ondrop-text-html.html
23608
23609        * platform/chromium/ClipboardChromium.cpp:
23610        (WebCore::):
23611        (WebCore::clipboardTypeFromMIMEType): add html type
23612        (WebCore::ClipboardChromium::clearData): implement clear text/html
23613        (WebCore::ClipboardChromium::getData): implement get text/html (similar to text/plain)
23614        (WebCore::ClipboardChromium::setData): implement set text/html
23615
236162010-04-10  Adam Barth  <abarth@webkit.org>
23617
23618        Unreviewed.  Rename m_forceSandboxFlags to m_forcedSandoxFlags, as
23619        requested by Darin Adler.
23620
23621        * loader/FrameLoader.cpp:
23622        (WebCore::FrameLoader::FrameLoader):
23623        (WebCore::FrameLoader::updateSandboxFlags):
23624        * loader/FrameLoader.h:
23625        (WebCore::FrameLoader::setForcedSandboxFlags):
23626        * svg/graphics/SVGImage.cpp:
23627        (WebCore::SVGImage::dataChanged):
23628
236292010-04-10  Mark Rowe  <mrowe@apple.com>
23630
23631        Reviewed by Dan Bernstein.
23632
23633        <rdar://problem/7845305> Further adoption of formal protocols for delegates.
23634
23635        Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
23636
23637        * WebCore.xcodeproj/project.pbxproj:
23638        * platform/mac/EmptyProtocolDefinitions.h: Renamed from WebKit/mac/Misc/EmptyProtocolDefinitions.h.
23639        * platform/network/mac/ResourceHandleMac.mm:
23640
236412010-04-10  Chris Evans  <cevans@chromium.org>
23642
23643        Reviewed by Adam Barth.
23644
23645        Defense in depth: make sure an SVG document in the <img> context has
23646        a unique origin.
23647
23648        https://bugs.webkit.org/show_bug.cgi?id=37392
23649
23650        * svg/graphics/SVGImage.cpp:
23651        (WebCore::SVGImage::dataChanged):
23652          Force the temporary rendering context into a unique origin.
23653        * loader/FrameLoader.h:
23654        (WebCore::FrameLoader::setForceSandboxFlags):
23655          Support for setting sandbox flags that will always be applied.
23656        * loader/FrameLoader.cpp:
23657        (WebCore::FrameLoader::updateSandboxFlags):
23658          Always apply any forced flags.
23659
236602010-04-10  Vangelis Kokkevis  <vangelis@chromium.org>
23661
23662        Reviewed by Dimitri Glazkov.
23663
23664        Moving files associated with the GPU compositor from platform/graphics/skia to platform/graphics/chromium. Class
23665        rename was done in a previous CL, this CL does the file move and rename.
23666        https://bugs.webkit.org/show_bug.cgi?id=37231
23667
23668        No new functionality, no new tests.
23669
23670        * WebCore.gypi:
23671        * platform/graphics/chromium/GraphicsLayerChromium.cpp: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.cpp.
23672        * platform/graphics/chromium/GraphicsLayerChromium.h: Copied from WebCore/platform/graphics/skia/GraphicsLayerSkia.h.
23673        * platform/graphics/chromium/LayerChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerSkia.cpp.
23674        * platform/graphics/chromium/LayerChromium.h: Copied from WebCore/platform/graphics/skia/LayerSkia.h.
23675        * platform/graphics/chromium/LayerRendererChromium.cpp: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.cpp.
23676        * platform/graphics/chromium/LayerRendererChromium.h: Copied from WebCore/platform/graphics/skia/LayerRendererSkia.h.
23677        * platform/graphics/skia/GraphicsLayerSkia.cpp: Removed.
23678        * platform/graphics/skia/GraphicsLayerSkia.h: Removed.
23679        * platform/graphics/skia/LayerRendererSkia.cpp: Removed.
23680        * platform/graphics/skia/LayerRendererSkia.h: Removed.
23681        * platform/graphics/skia/LayerSkia.cpp: Removed.
23682        * platform/graphics/skia/LayerSkia.h: Removed.
23683
236842010-04-10  Robert Hogan  <robert@webkit.org>
23685
23686        Reviewed by Kenneth Rohde Christiansen.
23687
23688        Refactor Qt DRT support in QtWebKit
23689
23690        https://bugs.webkit.org/show_bug.cgi?id=35844
23691
23692        * WebCore.pro: Add DumpRenderTreeSupportQt.cpp
23693
236942010-04-10  Joseph Pecoraro  <joepeck@webkit.org>
23695
23696        Reviewed by David Kilzer.
23697
23698        Missing CONTEXT_MENUS Guards
23699        https://bugs.webkit.org/show_bug.cgi?id=37398
23700
23701        Added missing ENABLE(CONTEXT_MENUS) guards.
23702
23703        * bindings/js/JSInspectorFrontendHostCustom.cpp:
23704        (WebCore::JSInspectorFrontendHost::showContextMenu):
23705        * inspector/InspectorFrontendHost.cpp:
23706        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
23707        (WebCore::InspectorFrontendHost::disconnectClient):
23708        * inspector/InspectorFrontendHost.h:
23709
237102010-04-10  Stephan Aßmus  <superstippi@gmx.de>
23711
23712        Reviewed by Eric Seidel.
23713
23714        [Haiku] Fix crash in Gradient::fill()
23715        https://bugs.webkit.org/show_bug.cgi?id=37386
23716
23717        Covered by existing tests.
23718
23719        * platform/graphics/haiku/GradientHaiku.cpp:
23720        (WebCore::Gradient::fill):
23721            - Make sure the platform gradient is already cached before
23722              dereferencing its pointer.
23723
237242010-04-10  Stephan Aßmus  <superstippi@gmx.de>
23725
23726        Reviewed by Eric Seidel.
23727
23728        [Haiku] Fix build of ImageHaiku.cpp
23729        <https://bugs.webkit.org/show_bug.cgi?id=37384>
23730
23731        No new tests needed.
23732
23733        * platform/graphics/haiku/ImageHaiku.cpp:
23734        (WebCore::Image::drawPattern):
23735            - include SharedBuffer.h
23736            - changed parameter name to be in line with other ports,
23737              the code I landed in an earlier commit was already using
23738              this name.
23739
237402010-04-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
23741
23742        Reviewed by Kenneth Rohde Christiansen.
23743
23744        [Qt] Implement Desktop Notifications API for QtWebKit
23745        https://bugs.webkit.org/show_bug.cgi?id=35503
23746
23747        No new tests enabled as notification DRT tests are
23748        disabled at the moment.
23749
23750        * WebCore.pri: Add files to the build system and turn
23751        on the feature by default.
23752
23753        * WebCore.pro: Add files to the build system
23754
23755        * bindings/js/JSDesktopNotificationsCustom.cpp:
23756        (WebCore::JSNotificationCenter::requestPermission):
23757        (WebCore::JSNotification::addEventListener):
23758        (WebCore::JSNotification::removeEventListener):
23759        Fix build regresssion.
23760
237612010-04-09  Pavel Feldman  <pfeldman@chromium.org>
23762
23763        Reviewed by Joseph Pecoraro.
23764
23765        Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
23766        https://bugs.webkit.org/show_bug.cgi?id=37133
23767
23768        * inspector/front-end/ConsoleView.js:
23769        (WebInspector.ConsoleView.prototype._printArray):
23770        (WebInspector.ConsoleView.prototype._formatAsArrayEntry):
23771        * inspector/front-end/InjectedScript.js:
23772        (injectedScriptConstructor):
23773
237742010-04-09  Kevin Watters  <kevinwatters@gmail.com>
23775
23776        Reviewed by Eric Seidel.
23777
23778        [wx] Basic implementation of SVG support for wx port.
23779
23780        * css/CSSFontFaceSource.cpp:
23781        * platform/graphics/wx/FontPlatformData.h:
23782        (WebCore::FontPlatformData::FontPlatformData):
23783        (WebCore::FontPlatformData::size):
23784        * platform/graphics/wx/FontPlatformDataWx.cpp:
23785        (WebCore::FontPlatformData::FontPlatformData):
23786        * platform/graphics/wx/GraphicsContextWx.cpp:
23787        (WebCore::GraphicsContext::GraphicsContext):
23788        (WebCore::GraphicsContext::clipPath):
23789        (WebCore::GraphicsContext::getCTM):
23790        (WebCore::GraphicsContext::beginPath):
23791        (WebCore::GraphicsContext::addPath):
23792        (WebCore::GraphicsContext::concatCTM):
23793        (WebCore::GraphicsContext::fillPath):
23794        (WebCore::GraphicsContext::strokePath):
23795        (WebCore::GraphicsContext::setLineDash):
23796        * platform/graphics/wx/ImageBufferWx.cpp:
23797        (WebCore::ImageBuffer::platformTransformColorSpace):
23798        * platform/graphics/wx/PathWx.cpp:
23799        (WebCore::Path::strokeContains):
23800        (WebCore::Path::debugString):
23801        (WebCore::Path::operator=):
23802        (WebCore::Path::isEmpty):
23803        * rendering/RenderSVGResourceMasker.cpp:
23804        * wscript:
23805
238062010-04-09  Evan Martin  <evan@chromium.org>
23807
23808        Reviewed by Darin Adler.
23809
23810        StorageEvent destructor should be in StorageEvent.cpp
23811        https://bugs.webkit.org/show_bug.cgi?id=37356
23812
23813        Because Storage is forward-declared in StorageEvent.h, we need to define
23814        the StorageEvent destructor in the .cpp file so that the RefPtr<Storage>
23815        destructor has a complete type for Storage.
23816
23817        * storage/StorageEvent.cpp:
23818        (WebCore::StorageEvent::~StorageEvent):
23819        * storage/StorageEvent.h:
23820
238212010-04-09  Young Han Lee  <joybro@company100.net>
23822
23823        Reviewed by Eric Seidel.
23824
23825        [WINCE] Add forwarding header for UnicodeWince.h
23826        https://bugs.webkit.org/show_bug.cgi?id=37224
23827
23828        * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Added.
23829
238302010-04-09  Geoffrey Garen  <ggaren@apple.com>
23831
23832        Reviewed by Sam "R the K!" Weinig.
23833
23834        Tidied up some more DOMWrapperWorld lifetime issues.
23835
23836        * bindings/js/DOMWrapperWorld.cpp:
23837        (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Notify the document that
23838        we're going away instead of deleting its data, since deleting other
23839        objects' data is error-prone and, more importantly, rude.
23840
23841        * bindings/js/DOMWrapperWorld.h:
23842        (WebCore::DOMWrapperWorld::didCreateWrapperCache):
23843        (WebCore::DOMWrapperWorld::didDestroyWrapperCache): A few renames for
23844        clarity.
23845
23846        * bindings/js/JSDOMBinding.cpp:
23847        * bindings/js/JSDOMBinding.h: Converted forgetAllDOMNodesForDocument
23848        to a Document member function, for the same reason.
23849
23850        * dom/Document.cpp: 
23851        (WebCore::Document::~Document):
23852        (WebCore::Document::createWrapperCache):
23853        (WebCore::Document::destroyWrapperCache):
23854        (WebCore::Document::destroyAllWrapperCaches):
23855        * dom/Document.h: Added a destroyWrapperCache function to balance
23856        createWrapperCache, so it's clear who allocates and deletes these wrapper
23857        caches.
23858
238592010-04-09  Chris Marrin  <cmarrin@apple.com>
23860
23861        Reviewed by Simon Fraser.
23862
23863        Fixed bug where animation time was not updated when dynamically loading a style sheet
23864        https://bugs.webkit.org/show_bug.cgi?id=37352
23865
23866        A dynamically loaded style sheet kicks off its own styleRecalc cycle. This was not
23867        bracketed with a beginAnimationUpdate/endAnimationUpdate which wasn't resetting the
23868        animation time. In some time-dependent cases this was causing a negative elapsedTime
23869        to be sent to the keyframe animator. This is an invalid case which destroys the
23870        animation prematurely. I not only added the brackets, but I also added an assert
23871        and protection for when the elapsedTime comes up negative.
23872
23873        Test: animations/dynamic-stylesheet-loading.html
23874
23875        * dom/Document.cpp: Added brackets
23876        (WebCore::Document::updateStyleSelector):
23877        * page/animation/KeyframeAnimation.cpp: Added assert and protection
23878        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval):
23879
238802010-04-09  Jaime Yap  <jaimeyap@google.com>
23881
23882        Reviewed by Pavel Feldman.
23883
23884        Web Inspector: Fixes "wrong parent" for GCEvents that come at the end of a
23885        timeline record node.
23886        https://bugs.webkit.org/show_bug.cgi?id=37340
23887
23888        * inspector/InspectorTimelineAgent.cpp:
23889        (WebCore::InspectorTimelineAgent::didInstallTimer):
23890        (WebCore::InspectorTimelineAgent::didRemoveTimer):
23891        (WebCore::InspectorTimelineAgent::didMarkTimeline):
23892        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
23893        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
23894        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
23895        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
23896
238972010-04-09  Abhishek Arya  <inferno@chromium.org>
23898
23899        Reviewed by Adam Barth.
23900
23901        Prevent HTTP responses served with JSON content type from being rendered as HTML. 
23902
23903        Test: http/tests/security/xss-DENIED-mime-type-execute-as-html.html
23904
23905        * dom/DOMImplementation.cpp:
23906        (WebCore::DOMImplementation::isTextMIMEType): Render application/json as text/plain.
23907        * platform/MIMETypeRegistry.cpp:
23908        (WebCore::initializeSupportedNonImageMimeTypes): Add a compile assert to prevent addition of new mime types in non-image types. 
23909
239102010-04-09  Shinichiro Hamaji  <hamaji@chromium.org>
23911
23912        Reviewed by Eric Seidel.
23913
23914        Prevent wrong use of PrintContext
23915        https://bugs.webkit.org/show_bug.cgi?id=37194
23916
23917        No new tests because this doesn't change the behavior.
23918
23919        * page/PrintContext.cpp:
23920        (WebCore::PrintContext::PrintContext):
23921        (WebCore::PrintContext::~PrintContext):
23922        (WebCore::PrintContext::begin):
23923        (WebCore::PrintContext::end):
23924        * page/PrintContext.h:
23925
239262010-04-09  Vitaly Repeshko  <vitalyr@chromium.org>
23927
23928        Reviewed by Darin Fisher.
23929
23930        [V8] SerializedScriptValue value doesn't follow the spec for DOM objects and files
23931        https://bugs.webkit.org/show_bug.cgi?id=37094
23932
23933        This patch adds support for file-related types.
23934
23935        * bindings/v8/SerializedScriptValue.cpp:
23936        (WebCore::):
23937        (WebCore::Writer::writeString):
23938        (WebCore::Writer::writeWebCoreString):
23939        (WebCore::Writer::writeBlob):
23940        (WebCore::Writer::writeFile):
23941        (WebCore::Writer::writeFileList):
23942        (WebCore::Writer::doWriteString):
23943        (WebCore::Writer::doWriteWebCoreString):
23944        (WebCore::Serializer::writeBlob):
23945        (WebCore::Serializer::writeFile):
23946        (WebCore::Serializer::writeFileList):
23947        (WebCore::Serializer::doSerialize):
23948        (WebCore::Reader::read):
23949        (WebCore::Reader::readWebCoreString):
23950        (WebCore::Reader::readBlob):
23951        (WebCore::Reader::readFile):
23952        (WebCore::Reader::readFileList):
23953        (WebCore::SerializedScriptValue::SerializedScriptValue):
23954
239552010-04-09  Geoffrey Garen  <ggaren@apple.com>
23956
23957        Reviewed by Cameron Zwarich.
23958        
23959        Tidied up some DOMWrapperWorld lifetime issues.
23960
23961        * bindings/js/DOMWrapperWorld.cpp:
23962        (WebCore::DOMWrapperWorld::DOMWrapperWorld): Made DOMWrapperWorld wholly
23963        responsible for managing its presence in WebCoreJSClientData's world set.
23964        This is simpler and more encapsulated than making its clients sometimes
23965        responsible for managing that set and sometimes not.
23966        
23967        * bindings/js/DOMWrapperWorld.h:
23968        (WebCore::DOMWrapperWorld::create): Made isNormal default to false,
23969        removing one of the reasons for the IsolatedWorld class to exist, so I
23970        could remove that class.
23971
23972        * bindings/js/JSDOMWindowBase.cpp:
23973        (WebCore::JSDOMWindowBase::commonJSGlobalData): Used the work-around below.
23974
23975        * bindings/js/ScriptController.cpp:
23976        (WebCore::ScriptController::createWorld): Nixed IsolatedWorld, which is
23977        now superfluous.
23978
23979        * bindings/js/WebCoreJSClientData.h:
23980        (WebCore::initNormalWorldClientData): Added a work-around for the fact
23981        that WebCoreJSClientData must be set as globalData->clientData before
23982        the DOMWrapperWorld constructor runs. This removed the other reason
23983        for the IsolatedWorld class to exist, so I could remove that class.
23984
239852010-04-09  Yaar Schnitman  <yaar@chromium.org>
23986
23987        Reviewed by Nate Chapin.
23988
23989        Testing utility for CodeGeneratorV8.pm
23990        https://bugs.webkit.org/show_bug.cgi?id=37286
23991
23992        * bindings/v8/test: Added.
23993        * bindings/v8/test/TestObj.idl: Contains basic IDL definitions for testing purposes.
23994        * bindings/v8/test/V8TestObj.cpp: Expected output.
23995        * bindings/v8/test/V8TestObj.h: Expected output.
23996        * bindings/v8/test/run_tests.py: Tool for generating the above h/cpp files from the idl file.
23997
239982010-04-09  Darin Adler  <darin@apple.com>
23999
24000        Reviewed by Maciej Stachowiak.
24001
24002        https://bugs.webkit.org/show_bug.cgi?id=37370
24003        Division by 0 in RenderBoxModelObject::calculateFillTileSize
24004
24005        Test: fast/backgrounds/background-fill-zero-area-crash.html
24006
24007        * rendering/RenderBoxModelObject.cpp:
24008        (WebCore::RenderBoxModelObject::calculateFillTileSize): Added checks for
24009        zero before doing division. These come up when the area to fill is zero.
24010
240112010-04-09  Alexey Proskuryakov  <ap@apple.com>
24012
24013        Reviewed by Maciej Stachowiak.
24014
24015        https://bugs.webkit.org/show_bug.cgi?id=24572
24016        XMLHttpRequest.statusText returns always "OK" on Mac
24017
24018        Covered by existing tests, which now pass.
24019
24020        * WebCore.base.exp:
24021        * platform/mac/WebCoreSystemInterface.h:
24022        * platform/mac/WebCoreSystemInterface.mm:
24023        Added a WebKitSystemInterface method to fetch status line.
24024
24025        * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine):
24026        * platform/network/HTTPParsers.h:
24027        * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
24028        Moved code for parsing status line to HTTPHeaders, as it's used for both Mac and CF now.
24029
24030        * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
24031        Use the actual reason phrase when available, and "OK" otherwise. Synthesizing a reson when
24032        there isn't one is misleading, so we'll stick to our old broken behavior on Tiger, rather than
24033        introduce a new broken one.
24034
240352010-04-09  David Hyatt  <hyatt@apple.com>
24036
24037        Reviewed by Oliver Hunt.
24038
24039        https://bugs.webkit.org/show_bug.cgi?id=37361, clean up FillLayer.
24040
24041        * css/CSSComputedStyleDeclaration.cpp:
24042        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24043        * rendering/style/FillLayer.h:
24044        (WebCore::FillLayer::sizeType):
24045        * rendering/style/RenderStyle.h:
24046        (WebCore::InheritedFlags::backgroundImage):
24047        (WebCore::InheritedFlags::backgroundRepeatX):
24048        (WebCore::InheritedFlags::backgroundRepeatY):
24049        (WebCore::InheritedFlags::backgroundComposite):
24050        (WebCore::InheritedFlags::backgroundAttachment):
24051        (WebCore::InheritedFlags::backgroundClip):
24052        (WebCore::InheritedFlags::backgroundOrigin):
24053        (WebCore::InheritedFlags::backgroundXPosition):
24054        (WebCore::InheritedFlags::backgroundYPosition):
24055        (WebCore::InheritedFlags::backgroundSizeType):
24056        (WebCore::InheritedFlags::backgroundSizeLength):
24057        (WebCore::InheritedFlags::maskImage):
24058        (WebCore::InheritedFlags::maskRepeatX):
24059        (WebCore::InheritedFlags::maskRepeatY):
24060        (WebCore::InheritedFlags::maskComposite):
24061        (WebCore::InheritedFlags::maskAttachment):
24062        (WebCore::InheritedFlags::maskClip):
24063        (WebCore::InheritedFlags::maskOrigin):
24064        (WebCore::InheritedFlags::maskXPosition):
24065        (WebCore::InheritedFlags::maskYPosition):
24066        (WebCore::InheritedFlags::maskSizeType):
24067        (WebCore::InheritedFlags::maskSizeLength):
24068
240692010-04-09  Sam Weinig  <sam@webkit.org>
24070
24071        Add another missing export to fix the build.
24072
24073        * WebCore.base.exp:
24074
240752010-04-09  David Hyatt  <hyatt@apple.com>
24076
24077        Reviewed by Adam Roben.
24078
24079        https://bugs.webkit.org/show_bug.cgi?id=37353, clean up cursors used by RenderStyles.
24080
24081        * css/CSSComputedStyleDeclaration.cpp:
24082        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24083        * page/EventHandler.cpp:
24084        (WebCore::EventHandler::selectCursor):
24085        * rendering/style/CursorData.h:
24086        (WebCore::CursorData::CursorData):
24087        (WebCore::CursorData::operator==):
24088        (WebCore::CursorData::image):
24089        (WebCore::CursorData::hotSpot):
24090        * rendering/style/RenderStyle.cpp:
24091        (WebCore::RenderStyle::addCursor):
24092
240932010-04-09  David Hyatt  <hyatt@apple.com>
24094
24095        Reviewed by Adam Roben.
24096        
24097        https://bugs.webkit.org/show_bug.cgi?id=37349, RenderStyle cleanup.  Working from the outside in to
24098        bring some style consistency to RenderStyle and its associated classes.  This patch cleans up the
24099        border and outline classes.
24100
24101        * rendering/RenderTable.cpp:
24102        (WebCore::RenderTable::calcBorderLeft):
24103        (WebCore::RenderTable::calcBorderRight):
24104        (WebCore::RenderTable::outerBorderTop):
24105        (WebCore::RenderTable::outerBorderBottom):
24106        (WebCore::RenderTable::outerBorderLeft):
24107        (WebCore::RenderTable::outerBorderRight):
24108        * rendering/RenderTableCell.cpp:
24109        (WebCore::compareBorders):
24110        * rendering/RenderTableSection.cpp:
24111        (WebCore::RenderTableSection::calcOuterBorderTop):
24112        (WebCore::RenderTableSection::calcOuterBorderBottom):
24113        (WebCore::RenderTableSection::calcOuterBorderLeft):
24114        (WebCore::RenderTableSection::calcOuterBorderRight):
24115        * rendering/style/BorderData.h:
24116        (WebCore::BorderData::hasBorder):
24117        (WebCore::BorderData::hasBorderRadius):
24118        (WebCore::BorderData::borderLeftWidth):
24119        (WebCore::BorderData::borderRightWidth):
24120        (WebCore::BorderData::borderTopWidth):
24121        (WebCore::BorderData::borderBottomWidth):
24122        (WebCore::BorderData::operator==):
24123        (WebCore::BorderData::left):
24124        (WebCore::BorderData::right):
24125        (WebCore::BorderData::top):
24126        (WebCore::BorderData::bottom):
24127        (WebCore::BorderData::image):
24128        (WebCore::BorderData::topLeft):
24129        (WebCore::BorderData::topRight):
24130        (WebCore::BorderData::bottomLeft):
24131        (WebCore::BorderData::bottomRight):
24132        * rendering/style/BorderValue.h:
24133        (WebCore::BorderValue::BorderValue):
24134        (WebCore::BorderValue::nonZero):
24135        (WebCore::BorderValue::isTransparent):
24136        (WebCore::BorderValue::operator==):
24137        (WebCore::BorderValue::color):
24138        (WebCore::BorderValue::width):
24139        (WebCore::BorderValue::style):
24140        * rendering/style/CollapsedBorderValue.h:
24141        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
24142        (WebCore::CollapsedBorderValue::width):
24143        (WebCore::CollapsedBorderValue::style):
24144        (WebCore::CollapsedBorderValue::exists):
24145        (WebCore::CollapsedBorderValue::color):
24146        (WebCore::CollapsedBorderValue::isTransparent):
24147        (WebCore::CollapsedBorderValue::precedence):
24148        (WebCore::CollapsedBorderValue::operator==):
24149        * rendering/style/OutlineValue.h:
24150        (WebCore::OutlineValue::OutlineValue):
24151        (WebCore::OutlineValue::operator==):
24152        (WebCore::OutlineValue::offset):
24153        (WebCore::OutlineValue::isAuto):
24154        * rendering/style/RenderStyle.cpp:
24155        (WebCore::RenderStyle::getBorderRadiiForRect):
24156        * rendering/style/RenderStyle.h:
24157        (WebCore::InheritedFlags::borderLeft):
24158        (WebCore::InheritedFlags::borderRight):
24159        (WebCore::InheritedFlags::borderTop):
24160        (WebCore::InheritedFlags::borderBottom):
24161        (WebCore::InheritedFlags::borderImage):
24162        (WebCore::InheritedFlags::borderTopLeftRadius):
24163        (WebCore::InheritedFlags::borderTopRightRadius):
24164        (WebCore::InheritedFlags::borderBottomLeftRadius):
24165        (WebCore::InheritedFlags::borderBottomRightRadius):
24166        (WebCore::InheritedFlags::borderLeftStyle):
24167        (WebCore::InheritedFlags::borderLeftColor):
24168        (WebCore::InheritedFlags::borderLeftIsTransparent):
24169        (WebCore::InheritedFlags::borderRightStyle):
24170        (WebCore::InheritedFlags::borderRightColor):
24171        (WebCore::InheritedFlags::borderRightIsTransparent):
24172        (WebCore::InheritedFlags::borderTopStyle):
24173        (WebCore::InheritedFlags::borderTopColor):
24174        (WebCore::InheritedFlags::borderTopIsTransparent):
24175        (WebCore::InheritedFlags::borderBottomStyle):
24176        (WebCore::InheritedFlags::borderBottomColor):
24177        (WebCore::InheritedFlags::borderBottomIsTransparent):
24178        (WebCore::InheritedFlags::outlineWidth):
24179        (WebCore::InheritedFlags::outlineStyleIsAuto):
24180        (WebCore::InheritedFlags::outlineColor):
24181        (WebCore::InheritedFlags::outlineOffset):
24182        (WebCore::InheritedFlags::columnRuleColor):
24183        (WebCore::InheritedFlags::resetBorderTop):
24184        (WebCore::InheritedFlags::resetBorderRight):
24185        (WebCore::InheritedFlags::resetBorderBottom):
24186        (WebCore::InheritedFlags::resetBorderLeft):
24187        (WebCore::InheritedFlags::resetBorderImage):
24188        (WebCore::InheritedFlags::resetBorderTopLeftRadius):
24189        (WebCore::InheritedFlags::resetBorderTopRightRadius):
24190        (WebCore::InheritedFlags::resetBorderBottomLeftRadius):
24191        (WebCore::InheritedFlags::resetBorderBottomRightRadius):
24192        (WebCore::InheritedFlags::setBorderImage):
24193        (WebCore::InheritedFlags::setBorderTopLeftRadius):
24194        (WebCore::InheritedFlags::setBorderTopRightRadius):
24195        (WebCore::InheritedFlags::setBorderBottomLeftRadius):
24196        (WebCore::InheritedFlags::setBorderBottomRightRadius):
24197        (WebCore::InheritedFlags::setBorderLeftWidth):
24198        (WebCore::InheritedFlags::setBorderLeftStyle):
24199        (WebCore::InheritedFlags::setBorderLeftColor):
24200        (WebCore::InheritedFlags::setBorderRightWidth):
24201        (WebCore::InheritedFlags::setBorderRightStyle):
24202        (WebCore::InheritedFlags::setBorderRightColor):
24203        (WebCore::InheritedFlags::setBorderTopWidth):
24204        (WebCore::InheritedFlags::setBorderTopStyle):
24205        (WebCore::InheritedFlags::setBorderTopColor):
24206        (WebCore::InheritedFlags::setBorderBottomWidth):
24207        (WebCore::InheritedFlags::setBorderBottomStyle):
24208        (WebCore::InheritedFlags::setBorderBottomColor):
24209        (WebCore::InheritedFlags::setOutlineWidth):
24210        (WebCore::InheritedFlags::setOutlineStyle):
24211        (WebCore::InheritedFlags::setOutlineColor):
24212        (WebCore::InheritedFlags::setOutlineOffset):
24213        (WebCore::InheritedFlags::setColumnRuleColor):
24214        (WebCore::InheritedFlags::setColumnRuleWidth):
24215        * rendering/style/StyleMultiColData.h:
24216        (WebCore::StyleMultiColData::ruleWidth):
24217
242182010-04-09  Andrey Kosyakov  <caseq@chromium.org>
24219
24220        Reviewed by Darin Adler.
24221
24222        Fixed ResourceError::failingURL() and ResourceResponse::httpStatusText()
24223        to return meaningful values.
24224        https://bugs.webkit.org/show_bug.cgi?id=37274
24225
24226        * platform/network/mac/ResourceErrorMac.mm:
24227        (WebCore::ResourceError::platformLazyInit):
24228        * platform/network/mac/ResourceResponseMac.mm:
24229        (WebCore::ResourceResponse::platformLazyInit):
24230
242312010-04-09  Jeremy Orlow  <jorlow@chromium.org>
24232
24233        Reviewed by Darin Adler.
24234
24235        Move the IDB::open ExceptionCode paramter to be last
24236        https://bugs.webkit.org/show_bug.cgi?id=37277
24237
24238        Move the ExceptionCode paramter to the last position in
24239        IndexedDatabaseRequest::open and friends.  It should definitely
24240        go after the callbacks to keep the parameters that come directly
24241        from javascript together.  And having output parameters appear
24242        last is done often in the code base, so it makes sense to push
24243        it past the Frame* param as well.
24244
24245        No functional change.
24246
24247        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
24248        (WebCore::V8IndexedDatabaseRequest::openCallback):
24249        * storage/IndexedDatabase.h:
24250        * storage/IndexedDatabaseImpl.cpp:
24251        (WebCore::IndexedDatabaseImpl::open):
24252        * storage/IndexedDatabaseImpl.h:
24253        * storage/IndexedDatabaseRequest.cpp:
24254        (WebCore::IndexedDatabaseRequest::open):
24255        * storage/IndexedDatabaseRequest.h:
24256
242572010-04-09  Dmitry Titov  <dimich@chromium.org>
24258
24259        Reviewed by Darin Adler.
24260
24261        WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
24262        https://bugs.webkit.org/show_bug.cgi?id=37053
24263
24264        Test: fast/workers/worker-close-more.html
24265
24266        * bindings/js/WorkerScriptController.cpp:
24267        (WebCore::WorkerScriptController::forbidExecution):
24268        (WebCore::WorkerScriptController::):
24269        * bindings/v8/WorkerScriptController.cpp:
24270        (WebCore::WorkerScriptController::forbidExecution):
24271        * bindings/v8/WorkerScriptController.h:
24272        (WebCore::WorkerScriptController::):
24273        Added option parameter to forbidExecution (both JCS and V8 versions) that specifies whether currently running
24274        script should be immediately terminated or left executed until the end.
24275
24276        * bindings/js/WorkerScriptController.h:
24277        (WebCore::WorkerScriptController::workerContextWrapper):
24278        This method now can return 0 instead of context if the further execution of JS is forbidden. Since any JS execution requires
24279        fetching JS global object first, returning 0 here is a good way to prevent re-entry into JS once worker started termination.
24280        V8 version does similar thing already in WorkerScriptController::proxy().
24281
24282        * workers/DedicatedWorkerContext.cpp:
24283        (WebCore::DedicatedWorkerContext::postMessage):
24284        Removed check that immediately disables postMessage from WorkerContext after close().
24285
24286        * workers/WorkerContext.cpp:
24287        (WebCore::CloseWorkerContextTask::create):
24288        (WebCore::CloseWorkerContextTask::performTask):
24289        (WebCore::CloseWorkerContextTask::isCleanupTask):
24290        (WebCore::WorkerContext::close):
24291        Use new forbidExecution(LetRunningScriptFinish) to avoid termination of script until it executes and exits.
24292        Post a task to actually terminate the worker once the currently executing JS fragment exits.
24293
24294        * workers/WorkerThread.cpp:
24295        (WebCore::WorkerThread::workerThread):
24296        (WebCore::WorkerThread::stop):
24297        Use new forbidExecution(TerminateRunningScript) to immediately terminate the JS.
24298
242992010-04-09  Kent Tamura  <tkent@chromium.org>
24300
24301        Reviewed by Darin Adler.
24302
24303        Implement interactive validation for forms.
24304        https://bugs.webkit.org/show_bug.cgi?id=34930
24305
24306        - HTMLFormControlElement::checkValidity() supports unhandled invalid control list
24307        - HTMLFormElement::validateInteractively() called from prepareSubmit()
24308          prevents the submission if neither noValidate nor formNoValidate is
24309          specified, and focuses on the first invalid control of which "invalid"
24310          event is not canceled.
24311
24312        Tests: fast/forms/checkValidity-cancel.html
24313               fast/forms/interactive-validation-cancel.html
24314               fast/forms/interactive-validation-formnovalidate.html
24315               fast/forms/interactive-validation-novalidate.html
24316               fast/forms/interactive-validation-prevented.html
24317               fast/forms/interactive-validation-remove-node-in-handler.html
24318
24319        * html/HTMLFormControlElement.cpp:
24320        (WebCore::HTMLFormControlElement::checkValidity):
24321          If the control is invalid and the "invalid" is not canceled,
24322          push the control to the specified vector.
24323        * html/HTMLFormControlElement.h:
24324        * html/HTMLFormElement.cpp:
24325        (WebCore::HTMLFormElement::validateInteractively):
24326         The main part of the interactive validation.
24327        (WebCore::HTMLFormElement::prepareSubmit):
24328         Calls validateInteractively().
24329        (WebCore::HTMLFormElement::checkValidity):
24330         Uses collectUnhandledInvalidControls().
24331        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
24332        * html/HTMLFormElement.h:
24333
243342010-04-09  Sam Weinig  <sam@webkit.org>
24335
24336        Fix the mac WebKit2 build.
24337
24338        * WebCore.base.exp:
24339
243402010-04-08  Alexey Proskuryakov  <ap@apple.com>
24341
24342        Reviewed by Darin Adler.
24343
24344        https://bugs.webkit.org/show_bug.cgi?id=37181
24345        <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data
24346
24347        Test: fast/events/gc-freeze-with-attribute-listeners.html
24348
24349        The problem was that we were creating JS wrappers for nodes with attribute event listeners,
24350        and GC is very slow if there are nodes with wrappers in a detached tree whose root does not
24351        have a wrapper.
24352
24353        * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Don't create
24354        wrappers for attribute event listeners - if there is a node, JSLazyEventListener::initializeJSFunction()
24355        will create one.
24356
24357        * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): Added a FIXME about the problem
24358        we are stepping around now.
24359
243602010-04-09  Xan Lopez  <xlopez@igalia.com>
24361
24362        Reviewed by Gustavo Noronha.
24363
24364        WebGtk GLib-CRITICAL Segmentation fault
24365        https://bugs.webkit.org/show_bug.cgi?id=34937
24366
24367        Do not crash if a plugin does not return anything in
24368        NP_GetMIMEDescription. This can happen, and other ports gracefully
24369        handle the situation.
24370
24371        * plugins/gtk/PluginPackageGtk.cpp:
24372        (WebCore::PluginPackage::fetchInfo):
24373
243742010-04-09  Pavel Feldman  <pfeldman@chromium.org>
24375
24376        Reviewed by Yury Semikhatsky.
24377
24378        Web Inspector: Cannot select elements within iframes with the magnifying glass.
24379
24380        https://bugs.webkit.org/show_bug.cgi?id=31732
24381
24382        * inspector/InspectorController.cpp:
24383        (WebCore::InspectorController::inspect):
24384        (WebCore::InspectorController::handleMousePress):
24385        * inspector/InspectorController.h:
24386        * page/EventHandler.cpp:
24387        (WebCore::EventHandler::handleMousePressEvent):
24388
243892010-04-09  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
24390
24391        Reviewed by Simon Hausmann.
24392
24393        [Qt]Fix compile error with QT_NO_PROPERTIES
24394        https://bugs.webkit.org/show_bug.cgi?id=36526
24395
24396        Disable dynamic properties when QT_NO_PROPERTIES is defined.
24397
24398        * bridge/qt/qt_class.cpp:
24399        (JSC::Bindings::QtClass::fieldNamed):
24400        * bridge/qt/qt_instance.cpp:
24401        (JSC::Bindings::QtInstance::getPropertyNames):
24402        (JSC::Bindings::QtField::name):
24403        (JSC::Bindings::QtField::valueFromInstance):
24404        (JSC::Bindings::QtField::setValueToInstance):
24405        * bridge/qt/qt_runtime.h:
24406        (JSC::Bindings::QtField::):
24407
244082010-04-09  David Leong  <david.leong@nokia.com>
24409
24410        Reviewed by Simon Hausmann.
24411
24412        [Qt] Symbian apps crash on exit due to a bad qObject_cast.
24413
24414        https://bugs.webkit.org/show_bug.cgi?id=37303
24415
24416        Added check for NULL to avoid the crash.
24417
24418        * plugins/symbian/PluginViewSymbian.cpp:
24419        (WebCore::PluginView::platformDestroy):
24420
244212010-04-09  Mark Rowe  <mrowe@apple.com>
24422
24423        Reviewed by Oliver Hunt.
24424
24425        <http://webkit.org/b/37326> IDL files are being copied in to the WebCore framework again
24426
24427        * WebCore.xcodeproj/project.pbxproj: Wire up the script.  Remove the three inappropriate
24428        files from the Copy Bundle Resources build phase.
24429
244302010-04-09  Zhenyao Mo  <zmo@google.com>
24431
24432        Reviewed by Darin Fisher.
24433
24434        Passing null WebGLObjects should synthesize INVALID_VALUE error
24435        https://bugs.webkit.org/show_bug.cgi?id=37047
24436
24437        * html/canvas/WebGLRenderingContext.cpp: Synthesize INVALID_VALUE error when input object is 0.
24438        (WebCore::WebGLRenderingContext::bindAttribLocation):
24439        (WebCore::WebGLRenderingContext::compileShader):
24440        (WebCore::WebGLRenderingContext::detachShader):
24441        (WebCore::WebGLRenderingContext::validateWebGLObject):
24442        (WebCore::WebGLRenderingContext::getActiveAttrib):
24443        (WebCore::WebGLRenderingContext::getActiveUniform):
24444        (WebCore::WebGLRenderingContext::getProgramParameter):
24445        (WebCore::WebGLRenderingContext::getProgramInfoLog):
24446        (WebCore::WebGLRenderingContext::getShaderParameter):
24447        (WebCore::WebGLRenderingContext::getShaderInfoLog):
24448        (WebCore::WebGLRenderingContext::getShaderSource):
24449        (WebCore::WebGLRenderingContext::getUniform):
24450        (WebCore::WebGLRenderingContext::getUniformLocation):
24451        (WebCore::WebGLRenderingContext::linkProgram):
24452        (WebCore::WebGLRenderingContext::shaderSource):
24453        * html/canvas/WebGLRenderingContext.h: Add helper function to validate webgl object input parameters.
24454
244552010-04-09  Zhenyao Mo  <zmo@google.com>
24456
24457        Reviewed by Dimitri Glazkov.
24458
24459        Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
24460        https://bugs.webkit.org/show_bug.cgi?id=37174
24461
24462        Test: fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
24463
24464        * platform/graphics/mac/GraphicsContext3DMac.cpp: resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D.
24465        (WebCore::GraphicsContext3D::copyTexImage2D):
24466        (WebCore::GraphicsContext3D::copyTexSubImage2D):
24467
244682010-04-09  Evan Stade  <estade@chromium.org>
24469
24470        Reviewed by Dimitri Glazkov.
24471
24472        [chromium] <select> dropdowns don't die when an item is selected
24473        https://bugs.webkit.org/show_bug.cgi?id=37243
24474
24475        * platform/chromium/PopupMenuChromium.cpp:
24476        (WebCore::PopupContainer::hidePopup):
24477        (WebCore::PopupContainer::notifyPopupHidden):
24478        (WebCore::PopupListBox::hidePopup): inform container that popup is closing
24479        * platform/chromium/PopupMenuChromium.h:
24480
244812010-04-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
24482
24483        Reviewed by Simon Hausmann.
24484
24485        [Qt] Fix crashes with package builds in release
24486
24487        * WebCore.pro: Don't add NDEBUG to the defines here, add it from JavaScriptCore.pri
24488
244892010-04-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24490
24491        Reviewed by Simon Fraser.
24492
24493        Remove "all" value from the view-mode media feature (as agreed on
24494        1-Apr-2010) in the Widgets voice conf.
24495
24496        * css/CSSValueKeywords.in:
24497        * css/MediaQueryEvaluator.cpp:
24498        (WebCore::view_modeMediaFeatureEval):
24499
245002010-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
24501
24502        Unreviewed, rolling out r57286.
24503        http://trac.webkit.org/changeset/57286
24504        https://bugs.webkit.org/show_bug.cgi?id=37312
24505
24506        "Caused intermittent test failures on all Mac bots."
24507        (Requested by eseidel on #webkit).
24508
24509        * storage/DatabaseTracker.cpp:
24510        (WebCore::DatabaseTracker::originQuotaManagerNoLock):
24511        (WebCore::DatabaseTracker::originQuotaManager):
24512        (WebCore::DatabaseTracker::DatabaseTracker):
24513        (WebCore::DatabaseTracker::canEstablishDatabase):
24514        (WebCore::DatabaseTracker::hasEntryForOrigin):
24515        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
24516        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
24517        (WebCore::DatabaseTracker::fullPathForDatabase):
24518        (WebCore::DatabaseTracker::populateOrigins):
24519        (WebCore::DatabaseTracker::origins):
24520        (WebCore::DatabaseTracker::databaseNamesForOrigin):
24521        (WebCore::DatabaseTracker::addOpenDatabase):
24522        (WebCore::DatabaseTracker::removeOpenDatabase):
24523        (WebCore::DatabaseTracker::usageForOriginNoLock):
24524        (WebCore::DatabaseTracker::usageForOrigin):
24525        (WebCore::DatabaseTracker::quotaForOrigin):
24526        (WebCore::DatabaseTracker::setQuota):
24527        (WebCore::DatabaseTracker::deleteOrigin):
24528        (WebCore::DatabaseTracker::deleteDatabase):
24529        (WebCore::DatabaseTracker::deleteDatabaseFile):
24530        * storage/DatabaseTracker.h:
24531        * storage/SQLTransactionClient.cpp:
24532        (WebCore::SQLTransactionClient::didExecuteStatement):
24533
245342010-04-09  Andras Becsi  <abecsi@webkit.org>
24535
24536        Reviewed by Simon Hausmann.
24537
24538        [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
24539        https://bugs.webkit.org/show_bug.cgi?id=37296
24540
24541        Do not use moc to preprocess user agent style sheets because it removes at-symbols
24542        and hexadecimal colours from declarations.
24543        Remove unneeded preprocessor usage from make-css-file-arrays.pl since the script
24544        processes default css files using regular expressions therefore preprocessing is redundant.
24545
24546        * WebCore.pri: remove --preprocessor usage
24547        * css/make-css-file-arrays.pl: remove gcc dependency
24548
245492010-04-08  Chris Evans  <cevans@chromium.org>
24550
24551        Reviewed by Sam Weinig.
24552
24553        Use the new UserGestureIndictor for _blank POST requests.
24554
24555        https://bugs.webkit.org/show_bug.cgi?id=34541
24556
24557        Test: fast/events/popup-blocked-to-post-blank.html
24558
24559        * bindings/v8/ScriptController.cpp:
24560        (WebCore::ScriptController::processingUserGesture):
24561          Use UserGestureIndicator in more cases.
24562        * page/EventHandler.cpp:
24563        (WebCore::EventHandler):
24564          Impact from UserGestureIndicator API change.
24565        (WebCore::FrameLoader::submitForm):
24566          Block the load immediately if popups are not allowed and it would
24567          open a new window.
24568        * loader/RedirectScheduler.cpp:
24569        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
24570          Note the UserGestureIndicator status at the time of submission.
24571        (WebCore::ScheduledFormSubmission::fire):
24572          Use the stored UserGestureIndicator status in the asynchronous
24573          callback.
24574        * dom/UserGestureIndicator.h:
24575        * dom/UserGestureIndicator.cpp:
24576        (WebCore::UserGestureIndicator::UserGestureIndicator):
24577          Add ability to store a negative indication.
24578
245792010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
24580
24581        Reviewed by Simon Fraser.
24582
24583        Spatial Navigation: proper handle negative x or y coordinates
24584        https://bugs.webkit.org/show_bug.cgi?id=36773
24585
24586        In Spatial Navigation logic, during rect acquisition in renderRectRelativeToRootDocument,
24587        sometimes negative x() or y() values are got, and the current algorithm bails out in
24588        any of such cases.
24589
24590        However, when a node is in a scrollable content (content overflow <div>) and
24591        this scrollable container scrolled up, element gets offscreen, and gets negative values
24592        for y(), for example. In such cases, they are still valid to be used in Spatial Navigation
24593        logic.
24594
24595        Test: fast/events/spatial-navigation/snav-offscreen-content.html
24596
24597        * page/SpatialNavigation.cpp:
24598        (WebCore::distanceDataForNode):
24599        (WebCore::checkNegativeCoordsForNode):
24600
246012010-04-08  Dumitru Daniliuc  <dumi@chromium.org>
24602
24603        Reviewed by Geoffrey Garen.
24604
24605        Create the creation callback is the current world.
24606        https://bugs.webkit.org/show_bug.cgi?id=37290
24607
24608        * bindings/js/JSDatabaseCallback.cpp:
24609        (WebCore::JSDatabaseCallback::JSDatabaseCallback):
24610
246112010-04-08  David Hyatt  <hyatt@apple.com>
24612
24613        Reviewed by Oliver Hunt.
24614
24615        Followup optimization to bug 24300, don't leak history info via CSS :visited.  If a Web
24616        site uses document colors that are the same for link and vlink in HTML and also doesn't
24617        specify any :link or :visited rules, then don't waste time resolving visited styles.
24618
24619        There is a further optimization that could be done to detect when :link and :visited are
24620        used together in the same rule to specify a color, and this is how most sites turn off
24621        visited link colors, but this fix doesn't address that.  It just restores the optimization
24622        that existed prior to the patch in 24300 landing.
24623
24624        * css/CSSGrammar.y:
24625        * css/CSSStyleSelector.cpp:
24626        (WebCore::CSSStyleSelector::styleForElement):
24627        * dom/Document.cpp:
24628        (WebCore::Document::Document):
24629        * dom/Document.h:
24630        (WebCore::Document::usesLinkRules):
24631        (WebCore::Document::setUsesLinkRules):
24632
246332010-04-08  David Hyatt  <hyatt@apple.com>
24634
24635        Reviewed by Oliver Hunt.
24636
24637        Caught by pixel tests.  I missed patching the borderRightColor() call for fieldset border painting so the
24638        border stopped showing up.
24639        
24640        * rendering/RenderFieldset.cpp:
24641        (WebCore::RenderFieldset::paintBorderMinusLegend):
24642
246432010-04-07  David Hyatt  <hyatt@apple.com>
24644
24645        Reviewed by Oliver Hunt.
24646
24647        https://bugs.webkit.org/show_bug.cgi?id=24300, don't leak history info via CSS :visited.
24648
24649        This patch implements the policy described by David Baron here:
24650        
24651        http://dbaron.org/mozilla/visited-privacy
24652        
24653        Added new tests in fast/history.
24654
24655        * WebCore.base.exp:
24656        Expose functions needed for the WebKit SPI used by layout tests.
24657
24658        * WebCore.xcodeproj/project.pbxproj:
24659        * accessibility/AccessibilityRenderObject.cpp:
24660        (WebCore::AccessibilityRenderObject::isVisited):
24661        Make sure accessibility objects still return visited information.
24662        
24663        * css/CSSComputedStyleDeclaration.cpp:
24664        (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
24665        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
24666        * css/CSSComputedStyleDeclaration.h:
24667        (WebCore::computedStyle):
24668        Add a boolean to computed style declarations that - if set - causes the computed style
24669        to still return :visited information.  For normal Web pages, this will be false.  It is set
24670        to true for the Web Inspector and by the WebKit SPI used by the layout tests.
24671
24672        * css/CSSStyleSelector.cpp:
24673        (WebCore::CSSStyleSelector::initElement):
24674        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
24675        (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
24676        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
24677        (WebCore::CSSStyleSelector::canShareStyleWithElement):
24678        (WebCore::CSSStyleSelector::styleForElement):
24679        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
24680        (WebCore::CSSStyleSelector::pseudoStyleForElement):
24681        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
24682        (WebCore::CSSStyleSelector::checkSelector):
24683        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
24684        (WebCore::CSSStyleSelector::applyPropertyToStyle):
24685        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
24686        * css/CSSStyleSelector.h:
24687        Rework the style selector to resolve two styles instead of one.  The first forces the link to
24688        be unvisited, and the second forces the link to be visited.  The real state of the link is 
24689        cached on the principal (unvisited) style.  The visited style hangs off the principal style
24690        as a pseudo style (VISITED_LINK).
24691
24692        * dom/Element.cpp:
24693        (WebCore::Element::pseudoStyleCacheIsInvalid):
24694        Make sure to deal with the VISITED_LINK pseudo to know when only :visited style info changed.
24695
24696        * inspector/InspectorDOMAgent.cpp:
24697        (WebCore::InspectorDOMAgent::getStyles):
24698        Let the Web Inspector see :visited computed styles by default.
24699        
24700        * platform/LinkHash.cpp:
24701        (WebCore::visitedURL):
24702        Fix an issue where <a href=""> is not hashed properly to the document's base URI, so it wasn't
24703        correctly reported as :visited.
24704
24705        * rendering/InlineFlowBox.cpp:
24706        (WebCore::InlineFlowBox::paintBoxDecorations):
24707        (WebCore::InlineFlowBox::paintTextDecorations):
24708        * rendering/InlineTextBox.cpp:
24709        (WebCore::InlineTextBox::paint):
24710        (WebCore::InlineTextBox::paintSelection):
24711        * rendering/RenderBlock.cpp:
24712        (WebCore::RenderBlock::paintColumnRules):
24713        (WebCore::RenderBlock::paintObject):
24714        * rendering/RenderBoxModelObject.cpp:
24715        (WebCore::RenderBoxModelObject::paintBorder):
24716        * rendering/RenderFieldset.cpp:
24717        (WebCore::RenderFieldset::paintBorderMinusLegend):
24718        * rendering/RenderImage.cpp:
24719        (WebCore::RenderImage::paintFocusRings):
24720        * rendering/RenderInline.cpp:
24721        (WebCore::RenderInline::paintOutline):
24722        (WebCore::RenderInline::paintOutlineForLine):
24723        * rendering/RenderObject.cpp:
24724        (WebCore::RenderObject::drawLineForBoxSide):
24725        (WebCore::RenderObject::drawArcForBoxSide):
24726        (WebCore::RenderObject::paintOutline):
24727        (WebCore::decorationColor):
24728        (WebCore::RenderObject::getTextDecorationColors):
24729        * rendering/RenderObject.h:
24730        * rendering/RenderPath.cpp:
24731        (WebCore::RenderPath::paint):
24732        * rendering/RenderReplaced.cpp:
24733        (WebCore::RenderReplaced::paint):
24734        * rendering/RenderSVGContainer.cpp:
24735        (WebCore::RenderSVGContainer::paint):
24736        * rendering/RenderSVGImage.cpp:
24737        (WebCore::RenderSVGImage::paint):
24738        * rendering/RenderSVGRoot.cpp:
24739        (WebCore::RenderSVGRoot::paint):
24740        * rendering/RenderTableCell.cpp:
24741        (WebCore::RenderTableCell::collapsedLeftBorder):
24742        (WebCore::RenderTableCell::collapsedRightBorder):
24743        (WebCore::RenderTableCell::collapsedTopBorder):
24744        (WebCore::RenderTableCell::collapsedBottomBorder):
24745        (WebCore::RenderTableCell::paintCollapsedBorder):
24746        * rendering/style/CollapsedBorderValue.h:
24747        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
24748        (WebCore::CollapsedBorderValue::color):
24749        (WebCore::CollapsedBorderValue::operator==):
24750        Patch painting code to fetch visitedDependentColors from the RenderStyle.  Properties that
24751        are honored include background-color, color, border colors, outline color, column rules,
24752        and fill and stroke (both SVG and our custom versions).
24753    
24754        * rendering/style/RenderStyle.cpp:
24755        (WebCore::RenderStyle::RenderStyle):
24756        (WebCore::RenderStyle::diff):
24757        (WebCore::borderStyleForColorProperty):
24758        (WebCore::colorIncludingFallback):
24759        (WebCore::RenderStyle::visitedDependentColor):
24760        * rendering/style/RenderStyle.h:
24761        (WebCore::):
24762        (WebCore::InheritedFlags::NonInheritedFlags::operator==):
24763        (WebCore::InheritedFlags::setBitDefaults):
24764        (WebCore::InheritedFlags::insideLink):
24765        (WebCore::InheritedFlags::isLink):
24766        (WebCore::InheritedFlags::setInsideLink):
24767        (WebCore::InheritedFlags::setIsLink):
24768        * rendering/style/RenderStyleConstants.h:
24769        Change how link information is stored.  The noninherited flags now have a bit set for if you're a link
24770        or not.  The inherited flags now cache whether you're inside a visited or unvisited link (or no link at
24771        all).
24772
24773        (WebCore::):
24774        * svg/graphics/SVGPaintServer.cpp:
24775        (WebCore::SVGPaintServer::fillPaintServer):
24776        (WebCore::SVGPaintServer::strokePaintServer):
24777        Patch SVG fill/stroke painting to honor :visited.
24778
247792010-04-08  Benjamin Otte  <otte@gnome.org>
24780
24781        Reviewed by Gustavo Noronha.
24782
24783        Fix build with MathML enabled.
24784
24785        * GNUmakefile.am:
24786
247872010-04-08  Daniel Bates  <dbates@rim.com>
24788
24789        No review, rolling out 56655.
24790        http://trac.webkit.org/changeset/56655
24791        https://bugs.webkit.org/show_bug.cgi?id=9268
24792
24793        Rolling out the change committed in change set 56655
24794        because it caused a regression in some of the mozilla
24795        and mozilla expected failure test cases, such as:
24796        tables/mozilla/marvin/backgr_simple-table-row.html, and
24797        tables/mozilla/marvin/backgr_simple-table-row-group.html.
24798
24799        We need to look into this issue some more.
24800
24801        * rendering/RenderBoxModelObject.cpp:
24802        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
24803        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
24804        * rendering/RenderBoxModelObject.h:
24805        * rendering/RenderObject.h:
24806        * rendering/RenderTableCell.cpp:
24807        * rendering/RenderTableCell.h:
24808
248092010-03-30  Dumitru Daniliuc  <dumi@chromium.org>
24810
24811        Reviewed by Dimitri Glazkov.
24812
24813        Refactor DatabaseTracker, part 1: Remove the dependency on
24814        OriginQuotaManager from DatabaseTracker.h.
24815
24816        https://bugs.webkit.org/show_bug.cgi?id=31482
24817
24818        * storage/DatabaseTracker.cpp:
24819        (originQuotaManager):
24820        (WebCore::DatabaseTracker::DatabaseTracker):
24821        (WebCore::DatabaseTracker::canEstablishDatabase):
24822        (WebCore::DatabaseTracker::hasEntryForOrigin):
24823        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
24824        (WebCore::DatabaseTracker::databaseChanged):
24825        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
24826        (WebCore::DatabaseTracker::fullPathForDatabase):
24827        (WebCore::DatabaseTracker::populateOrigins):
24828        (WebCore::DatabaseTracker::origins):
24829        (WebCore::DatabaseTracker::databaseNamesForOrigin):
24830        (WebCore::DatabaseTracker::removeOpenDatabase):
24831        (WebCore::DatabaseTracker::usageForOriginNoLock):
24832        (WebCore::DatabaseTracker::usageForOrigin):
24833        (WebCore::DatabaseTracker::quotaForOrigin):
24834        (WebCore::DatabaseTracker::setQuota):
24835        (WebCore::DatabaseTracker::deleteOrigin):
24836        (WebCore::DatabaseTracker::deleteDatabase):
24837        (WebCore::DatabaseTracker::deleteDatabaseFile):
24838        * storage/DatabaseTracker.h:
24839        * storage/SQLTransactionClient.cpp:
24840        (WebCore::SQLTransactionClient::didExecuteStatement):
24841
248422010-04-08  Kwang Yul Seo  <skyul@company100.net>
24843
24844        Reviewed by Simon Hausmann.
24845
24846        [WINCE] Replace max with std::max
24847        https://bugs.webkit.org/show_bug.cgi?id=37201
24848
24849        std::max is preferred.
24850
24851        * platform/wince/FileSystemWince.cpp:
24852        (WebCore::makeAllDirectories):
24853        (WebCore::pathGetFileName):
24854
248552010-04-08  Antonio Gomes  <tonikitoo@webkit.org>
24856
24857        Reviewed by Laszlo Gombos.
24858
24859        [EFL] Move AccessibilityObjectEfl.cpp from page to accessibility
24860        https://bugs.webkit.org/show_bug.cgi?id=36405
24861
24862        * accessibility/efl/AccessibilityObjectEfl.cpp: Renamed from WebCore/page/efl/AccessibilityObjectEfl.cpp.
24863        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24864
248652010-04-08  Pavel Feldman  <pfeldman@chromium.org>
24866
24867        Reviewed by Yury Semikhatsky.
24868
24869        Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.
24870
24871        https://bugs.webkit.org/show_bug.cgi?id=37267
24872
24873        * English.lproj/localizedStrings.js:
24874        * inspector/InspectorController.cpp:
24875        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
24876        (WebCore::InspectorController::mainResourceFiredLoadEvent):
24877        * inspector/InspectorController.h:
24878        * inspector/InspectorTimelineAgent.cpp:
24879        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
24880        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
24881        * inspector/InspectorTimelineAgent.h:
24882        (WebCore::):
24883        * inspector/front-end/ResourcesPanel.js:
24884        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
24885        * inspector/front-end/TimelineAgent.js:
24886        * inspector/front-end/TimelineGrid.js:
24887        (WebInspector.TimelineGrid.prototype.removeEventDividers):
24888        * inspector/front-end/TimelinePanel.js:
24889        (WebInspector.TimelinePanel):
24890        (WebInspector.TimelinePanel.prototype.get _recordStyles):
24891        (WebInspector.TimelinePanel.prototype._updateMarks):
24892        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
24893        (WebInspector.TimelinePanel.prototype._clearPanel):
24894        (WebInspector.TimelinePanel.prototype._refresh):
24895        (WebInspector.TimelinePanel.prototype._refreshRecords):
24896        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
24897        (WebInspector.TimelineRecordGraphRow.prototype.update):
24898        * inspector/front-end/inspector.css:
24899        (.resources-event-divider):
24900        (.resources-red-divider):
24901        (.resources-blue-divider):
24902        (.resources-orange-divider):
24903
249042010-04-01  Antonio Gomes  <tonikitoo@webkit.org>
24905
24906        Reviewed by David Hyatt.
24907
24908        [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
24909        https://bugs.webkit.org/show_bug.cgi?id=29431
24910
24911        Test: fast/overflow/scrollbar-restored-and-then-locked.html
24912
24913        Patch introduces a lock scrollbars concept to ScrollView, as in WebDynamicScrollBarsView.mm/h
24914        on WebKit/mac. It is needed because in QtWebKit, we have Api for setting both vertical and
24915        horizontal scrollbars on/off/auto. When it is set to off, for example, it should remain
24916        as such, unless unset.
24917
24918        For the locking concept, optional 'lock' parameters were added to setScrollbarModes,
24919        setHorizontalScrollbarMode and setVerticalScrollbarMode methods of ScrollView. As these
24920        are all optional, any previous code calling them do not need modification.
24921
24922        Two optional parameters were also added to Frame's createView method, for horizontal and vertical
24923        lock state persistence cross page loads.
24924
24925        * page/Frame.cpp:
24926        (WebCore::Frame::createView):
24927        * platform/ScrollView.cpp:
24928        (WebCore::ScrollView::ScrollView):
24929        (WebCore::ScrollView::setScrollbarModes):
24930        (WebCore::ScrollView::setHorizontalScrollbarMode):
24931        (WebCore::ScrollView::setVerticalScrollbarMode):
24932        * platform/ScrollView.h:
24933        (WebCore::ScrollView::setHorizontalScrollbarLock):
24934        (WebCore::ScrollView::isHorizontalScrollbarLocked):
24935        (WebCore::ScrollView::setVerticalScrollbarLock):
24936        (WebCore::ScrollView::isVerticalScrollbarLocked):
24937        (WebCore::ScrollView::setScrollingModesLocked):
24938
249392010-04-08  Yury Semikhatsky  <yurys@chromium.org>
24940
24941        Reviewed by Pavel Feldman.
24942
24943        Correctly save number of properties when object being serialized
24944        have properties in its prorotype.
24945
24946        https://bugs.webkit.org/show_bug.cgi?id=37263
24947
24948        * bindings/v8/SerializedScriptValue.cpp:
24949        (WebCore::ZigZag::Serializer::AbstractObjectState::AbstractObjectState):
24950        (WebCore::ZigZag::Serializer::AbstractObjectState::advance):
24951
249522010-04-08  Jeremy Orlow  <jorlow@chromium.org>
24953
24954        Reviewed by Yury Semikhatsky.
24955
24956        IDB callbacks should fire asynchronously
24957        https://bugs.webkit.org/show_bug.cgi?id=37265
24958
24959        Fix the firing behavior of the callbacks to not be synchronous.
24960
24961        There's still a major bug that I'm trying to track down that is keeping
24962        us from testing this stuff.  Promise lots of tests ASAP.
24963
24964        * bindings/v8/custom/V8CustomIDBCallbacks.h:
24965        (WebCore::V8CustomIDBCallbacks::onSuccessAsync):
24966        (WebCore::V8CustomIDBCallbacks::onErrorAsync):
24967        * storage/IDBCallbacks.h:
24968        (WebCore::IDBCallbacks::IDBCallbacks):
24969        (WebCore::IDBCallbacks::onSuccess):
24970        (WebCore::IDBCallbacks::onError):
24971        (WebCore::IDBCallbacks::timerFired):
24972        * storage/IndexedDatabaseRequest.cpp:
24973
249742010-04-08  Kent Tamura  <tkent@chromium.org>
24975
24976        Reviewed by Darin Adler.
24977
24978        willValidate doesn't need to check existence of a form element and a name attribute.
24979        https://bugs.webkit.org/show_bug.cgi?id=34733
24980
24981        Remove checks against m_form and m_hasName in
24982        HTMLFormControlElement::willValidate(), and remove the code to
24983        track their updates.
24984
24985        Test: fast/forms/willvalidate.html
24986
24987        * html/HTMLFormControlElement.cpp:
24988        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
24989        (WebCore::HTMLFormControlElement::parseMappedAttribute):
24990        (WebCore::HTMLFormControlElement::insertedIntoTree):
24991        (WebCore::HTMLFormControlElement::removedFromTree):
24992        (WebCore::HTMLFormControlElement::recalcWillValidate):
24993        (WebCore::HTMLFormControlElement::willValidate):
24994        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
24995        * html/HTMLFormControlElement.h:
24996        (WebCore::HTMLFormControlElement::formDestroyed):
24997        * html/HTMLInputElement.cpp:
24998        (WebCore::HTMLInputElement::setInputType):
24999          setNeedsWillValidateCheck() should be called before
25000          setAttribute(valueAttr, ...) is called.
25001
250022010-04-08  Young Han Lee  <joybro@company100.net>
25003
25004        Reviewed by Simon Hausmann.
25005
25006        [WINCE] Add missing headers
25007        https://bugs.webkit.org/show_bug.cgi?id=37199
25008
25009        Include missing headers.
25010
25011        * platform/graphics/wince/FontCustomPlatformData.cpp:
25012        * platform/graphics/wince/FontPlatformData.cpp:
25013        * platform/graphics/wince/GraphicsContextWince.cpp:
25014        * platform/graphics/wince/ImageBufferWince.cpp:
25015        * platform/graphics/wince/PlatformPathWince.h:
25016        * platform/wince/FileSystemWince.cpp:
25017
250182010-04-08  Kwang Yul Seo  <skyul@company100.net>
25019
25020        Reviewed by Simon Hausmann.
25021
25022        [WINCE] Use WebCore::instanceHandle()
25023        https://bugs.webkit.org/show_bug.cgi?id=37202
25024
25025        Page::instanceHandle() is moved to WebCore::instanceHandle().
25026
25027        * platform/wince/PasteboardWince.cpp:
25028        (WebCore::Pasteboard::Pasteboard):
25029        * platform/wince/SharedTimerWince.cpp:
25030        (WebCore::initializeOffScreenTimerWindow):
25031
250322010-04-08  Vitaly Repeshko  <vitalyr@chromium.org>
25033
25034        Reviewed by Dimitri Glazkov.
25035
25036        [V8] Fix crash in NodeFilterCondition in detached iframe
25037        https://bugs.webkit.org/show_bug.cgi?id=37234
25038
25039        Test: fast/dom/node-filter-detached-iframe-crash.html
25040
25041        * bindings/v8/V8NodeFilterCondition.cpp:
25042        (WebCore::V8NodeFilterCondition::acceptNode): Switched to using
25043        callFunctionWithoutFrame.
25044        * bindings/v8/V8Proxy.cpp:
25045        (WebCore::V8Proxy::callFunctionWithoutFrame): Added a function to
25046        call V8 with no current frame.
25047        * bindings/v8/V8Proxy.h:
25048
250492010-04-08  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
25050
25051        Reviewed by Simon Hausmann.
25052
25053         [Qt] Remove shaderSource manipulation from GraphicsContext3DQt.cpp
25054         https://bugs.webkit.org/show_bug.cgi?id=37226
25055
25056        * platform/graphics/qt/GraphicsContext3DQt.cpp:
25057        (WebCore::GraphicsContext3D::shaderSource):
25058
250592010-04-08  Chris Evans  <cevans@chromium.org>
25060
25061        Reviewed by Adam Barth.
25062
25063        Sanity: apply a max node depth to XML parsing.
25064
25065        https://bugs.webkit.org/show_bug.cgi?id=37247
25066
25067        Test: fast/images/svg-nested.html
25068
25069        * dom/XMLTokenizer.cpp:
25070        (WebCore::XMLTokenizer::pushCurrentNode):
25071          Error out the parse upon a really large node depth.
25072
250732010-04-07  Dumitru Daniliuc  <dumi@chromium.org>
25074
25075        Reviewed by Jeremy Orlow.
25076
25077        Fix Chromium's HTML5 DB support in --single-process mode.
25078        https://bugs.webkit.org/show_bug.cgi?id=37186.
25079
25080        Always register and use Chromium's SQLite VFS for
25081        WebSQLDatabases. Keep using the default VFS in all other
25082        cases. This change should allow Chromium to support
25083        WebSQLDatabases in --single-process mode.
25084
25085        Also, cleaning up a bit SQLiteFileSystemChromium and getting rid
25086        of the SQLITE_OPEN_FULLMUTEX flag: we use sqlite DB handles only
25087        on the DB thread, so we don't need multi-threaded support.
25088
25089        * platform/sql/SQLiteDatabase.cpp:
25090        (WebCore::SQLiteDatabase::open):
25091        * platform/sql/SQLiteDatabase.h:
25092        * platform/sql/SQLiteFileSystem.cpp:
25093        (WebCore::SQLiteFileSystem::openDatabase):
25094        * platform/sql/SQLiteFileSystem.h:
25095        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
25096        (WebCore::SQLiteFileSystem::openDatabase):
25097        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
25098        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
25099        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
25100        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
25101        * storage/Database.cpp:
25102        (WebCore::Database::performOpenAndVerify):
25103
251042010-04-07  Chris Marrin  <cmarrin@apple.com>
25105
25106        Reviewed by Steve Falkenburg.
25107
25108        Remove QuartzCoreInterface from the build
25109        
25110        No longer needed since QuartzCore.dll is now included in  the latest Safari release (4.0.5).
25111        This gets rid of all the function shims from the clients of QuartzCore.dll.
25112
25113        * platform/graphics/win/GraphicsLayerCACF.cpp:
25114        (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
25115        * platform/graphics/win/WKCACFLayer.cpp:
25116        (WebCore::toCACFLayerType):
25117        (WebCore::toCACFContentsGravityType):
25118        (WebCore::fromCACFContentsGravityType):
25119        (WebCore::toCACFFilterType):
25120        (WebCore::fromCACFFilterType):
25121        (WebCore::WKCACFLayer::isTransformLayer):
25122        * platform/graphics/win/WKCACFLayerRenderer.cpp:
25123        (WebCore::WKCACFLayerRenderer::createRenderer):
25124
251252010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
25126
25127        Unreviewed, rolling out r57178.
25128        http://trac.webkit.org/changeset/57178
25129        https://bugs.webkit.org/show_bug.cgi?id=37240
25130
25131        Caused chromium browser_test and ui_test regressions
25132        (Requested by ojan on #webkit).
25133
25134        * bindings/v8/ScriptController.cpp:
25135        (WebCore::ScriptController::processingUserGesture):
25136
251372010-04-07  Jian Li  <jianli@chromium.org>
25138
25139        Reviewed by Adam Barth and Dmitry Titov.
25140
25141        Add the comment and assert that we're generating version 4 random number
25142        based UUIDs.
25143        https://bugs.webkit.org/show_bug.cgi?id=36472
25144
25145        * platform/UUID.cpp:
25146        (WebCore::createCanonicalUUIDString):
25147        * platform/UUID.h:
25148
251492010-04-07  Erik Arvidsson  <arv@chromium.org>
25150
25151        Reviewed by Adam Barth.
25152
25153        Allow white listing access from origin to local origin.
25154        https://bugs.webkit.org/show_bug.cgi?id=37228
25155
25156        This makes it possible to load a local resource from a non local
25157        origin if the access has previously been white listed by calling
25158        SecurityOrigin::whiteListAccessFromOrigin.
25159
25160        Test: http/tests/security/local-image-from-remote-whitelisted.html
25161
25162        * page/OriginAccessEntry.cpp:
25163        (WebCore::OriginAccessEntry::OriginAccessEntry): Removed assert that only the http and https protocol are valid.
25164        * page/SecurityOrigin.cpp:
25165        (WebCore::SecurityOrigin::canRequest): Use isAccessWhiteListed
25166        (WebCore::SecurityOrigin::isAccessWhiteListed): Extracted code that goes through the originAccessMap to do the origin matching.
25167        (WebCore::SecurityOrigin::canLoad): Check if access has been white listed.
25168        * page/SecurityOrigin.h: Add private function isAccessWhiteListed
25169
251702010-04-07  Luiz Agostini  <luiz.agostini@openbossa.org>
25171
25172        Reviewed by Darin Adler.
25173
25174        Adding static method zero() to classes IntPoint and FloatPoint.
25175        https://bugs.webkit.org/show_bug.cgi?id=37220
25176
25177        Adding static method zero() to classes IntPoint and FloatPoint as suggested by Darin Adler.
25178
25179        * platform/graphics/FloatPoint.h:
25180        (WebCore::FloatPoint::zero):
25181        * platform/graphics/IntPoint.h:
25182        (WebCore::IntPoint::zero):
25183        (WebCore::IntPoint::clampNegativeToZero):
25184
251852010-04-07  Alexey Proskuryakov  <ap@apple.com>
25186
25187        * platform/network/mac/AuthenticationMac.mm: Fix a typo in comment.
25188
251892010-04-07  Alexey Proskuryakov  <ap@apple.com>
25190
25191        Reviewed by Darin Adler.
25192
25193        https://bugs.webkit.org/show_bug.cgi?id=37230
25194        <rdar://problem/7813115> REGRESSION (4.0.5): Safari asks for credentials all the time when
25195        authenticating to Windows IIS Server
25196
25197        * platform/network/ProtectionSpace.h: (WebCore::ProtectionSpaceAuthenticationScheme): Added
25198        a constant for ProtectionSpaceAuthenticationSchemeUnknown.
25199
25200        * platform/network/cf/AuthenticationCF.cpp: (WebCore::core):
25201        * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::authenticationSchemeFromAuthenticationMethod):
25202        Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
25203
25204        * platform/network/mac/AuthenticationMac.mm:
25205        (WebCore::mac): Support NTLM on systems older than 10.6. We actually get this string from
25206        NSURLConnection, even though there was no public constant.
25207        (WebCore::core): Return ProtectionSpaceAuthenticationSchemeUnknown for unknown scheme.
25208
252092010-04-07  Jaime Yap  <jaimeyap@google.com>
25210
25211        Reviewed by Pavel Feldman.
25212
25213        Adds the ability to get the function symbol name when looking up the call location
25214        for records sent by the InspectorTimelineAgent.
25215        https://bugs.webkit.org/show_bug.cgi?id=36839
25216
25217        No new tests.
25218
25219        * bindings/js/ScriptCallStack.cpp:
25220        (WebCore::ScriptCallStack::callLocation):
25221        * bindings/js/ScriptCallStack.h:
25222        * bindings/v8/ScriptCallStack.cpp:
25223        (WebCore::ScriptCallStack::create):
25224        (WebCore::ScriptCallStack::callLocation):
25225        (WebCore::ScriptCallStack::ScriptCallStack):
25226        * bindings/v8/ScriptCallStack.h:
25227        * bindings/v8/ScriptDebugServer.cpp:
25228        (WebCore::ScriptDebugServer::createUtilityContext):
25229        (WebCore::ScriptDebugServer::topStackFrame):
25230        * bindings/v8/ScriptDebugServer.h:
25231        (WebCore::ScriptDebugServer::utilityContext):
25232        * bindings/v8/V8Proxy.cpp:
25233        * bindings/v8/V8Proxy.h:
25234        * inspector/TimelineRecordFactory.cpp:
25235        (WebCore::TimelineRecordFactory::createGenericRecord):
25236
252372010-04-07  Jay Civelli  <jcivelli@chromium.org>
25238
25239        Reviewed by Jian Li.
25240
25241        [chromium] Fixing a NULL pointer being dereferenced in some cases.
25242        https://bugs.webkit.org/show_bug.cgi?id=37141
25243
25244        Test: platform/chromium/fast/forms/search-popup-crasher.html
25245
25246        * platform/chromium/PopupMenuChromium.cpp:
25247        (WebCore::PopupMenu::~PopupMenu):
25248
252492010-04-07  Kinuko Yasuda  <kinuko@chromium.org>
25250
25251        Reviewed by Jian Li.
25252
25253        Add skeleton FileStream module for providing sync file operations for FileAPI
25254        https://bugs.webkit.org/show_bug.cgi?id=37217
25255
25256        For now the module just defines an interface and is almost empty.
25257        Implementation will be added.
25258
25259        No new tests; will be added when we have complete implementation.
25260
25261        * GNUmakefile.am:
25262        * WebCore.gypi:
25263        * WebCore.pro:
25264        * WebCore.vcproj/WebCore.vcproj:
25265        * WebCore.xcodeproj/project.pbxproj:
25266        * html/FileStream.cpp: Added.
25267        * html/FileStream.h: Added.
25268        * html/FileStreamClient.h: Added.
25269        * html/FileThread.cpp:
25270        (WebCore::SameFilePredicate::SameFilePredicate):
25271        (WebCore::SameFilePredicate::operator()):
25272        (WebCore::FileThread::unscheduleTasks):
25273        * html/FileThread.h:
25274        (WebCore::FileThread::Task::stream):
25275        (WebCore::FileThread::Task::Task):
25276
252772010-04-07  Oliver Hunt  <oliver@apple.com>
25278
25279        Reviewed by Darin Adler.
25280
25281        Remove some unnecessary uses of commonJSGlobalData
25282        https://bugs.webkit.org/show_bug.cgi?id=37229
25283
25284        Pass the ExecState down to identifierFromNPIdentifier and update call sites
25285
25286        * bridge/NP_jsobject.cpp:
25287        (_NPN_Invoke):
25288        (_NPN_GetProperty):
25289        (_NPN_SetProperty):
25290        (_NPN_RemoveProperty):
25291        (_NPN_HasProperty):
25292        (_NPN_HasMethod):
25293        * bridge/c/c_instance.cpp:
25294        (JSC::Bindings::CInstance::getPropertyNames):
25295        * bridge/c/c_utility.cpp:
25296        (JSC::Bindings::identifierFromNPIdentifier):
25297        * bridge/c/c_utility.h:
25298
252992010-04-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25300
25301        Reviewed by Darin Adler.
25302
25303        Poor rendering on lala.com with frame flattening
25304        https://bugs.webkit.org/show_bug.cgi?id=37164
25305
25306        Do not flatten offscreen iframes.
25307
25308        Test: fast/frames/flattening/iframe-flattening-offscreen.html
25309
25310        * rendering/RenderPartObject.cpp:
25311        (WebCore::RenderPartObject::flattenFrame):
25312        * rendering/RenderPartObject.h:
25313
253142010-04-07  Abhishek Arya  <inferno@chromium.org>
25315
25316        Reviewed by Adam Barth.
25317
25318        [V8] Add a missing check for constructor call in WebKitPointConstructor.
25319        https://bugs.webkit.org/show_bug.cgi?id=37210
25320
25321        Test: fast/constructors/constructor-as-function-crash.html
25322
25323        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
25324        (WebCore::V8WebKitPoint::constructorCallback): Added a check for constructor call.
25325
253262010-04-07  Enrica Casucci  <enrica@apple.com>
25327
25328        Reviewed by Darin Adler.
25329
25330        https://bugs.webkit.org/show_bug.cgi?id=37219
25331        
25332        This change disables text caret for the iPhone platflorm.
25333        Added UNUSED_PARAM to build when ENABLE_TEXT_CARET is 0.
25334
25335        * editing/SelectionController.cpp:
25336        (WebCore::SelectionController::recomputeCaretRect):
25337        (WebCore::SelectionController::paintCaret):
25338        * page/Frame.cpp:
25339        (WebCore::Frame::paintDragCaret):
25340
253412010-04-07  Enrica Casucci  <enrica@apple.com>
25342
25343        Reviewed by Dave Hyatt.
25344
25345        Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
25346        <rdar://problem/6649734>
25347        <https://bugs.webkit.org/show_bug.cgi?id=6274>
25348        
25349        In order to be able to handle successfully this case, it is necessary to change the glyph width cache to store
25350        the bounding box for the glyph instead of the simply caching the glyph width.
25351        Retrieving the bounding box for the glyph is expensive, therefore we do it only
25352        when we are rendering text using the complex text path to minimize the performance impact.
25353        To support characters with stacked diacritics, the method canUseGlyphCache has been modified to
25354        return false for the range of characters with stacked diacritics.
25355        The glyph cache has been also updated to allow storing the glyph bounding box together with the
25356        horizontal width. The bounding box is populated only for complex text.
25357        
25358        The original version of this patch has been written by Dan Bernstein.
25359
25360        Test: fast/repaint/stacked-diacritics.html
25361
25362        * Android.mk: File name change.
25363        * GNUmakefile.am: File name change.
25364        * WebCore.base.exp: Added parameter in exported function.
25365        * WebCore.gypi: File name change.
25366        * WebCore.vcproj/WebCore.vcproj: File name change.
25367        * WebCore.xcodeproj/project.pbxproj: File name change.
25368        * platform/graphics/Font.cpp:
25369        (WebCore::Font::floatWidth): Added glyphOverflow parameter.
25370        * platform/graphics/Font.h:
25371        (WebCore::GlyphOverflow::GlyphOverflow): Added.
25372        (WebCore::Font::width): Added glyphOverflow parameter.
25373        * platform/graphics/FontFastPath.cpp:
25374        (WebCore::Font::canUseGlyphCache): Modified to render characters with stacked diacritics with complex text path.
25375        * platform/graphics/GlyphMetricsMap.cpp: Copied from WebCore/platform/graphics/GlyphWidthMap.cpp.
25376        (WebCore::GlyphMetricsMap::locatePageSlowCase): Class name changed to reflect new semantics.
25377        * platform/graphics/GlyphMetricsMap.h: Copied from WebCore/platform/graphics/GlyphWidthMap.h.
25378        (WebCore::GlyphMetricsMap::GlyphMetricsMap):
25379        (WebCore::GlyphMetricsMap::~GlyphMetricsMap):
25380        (WebCore::GlyphMetricsMap::metricsForGlyph):
25381        (WebCore::GlyphMetricsMap::widthForGlyph):
25382        (WebCore::GlyphMetricsMap::setMetricsForGlyph):
25383        (WebCore::GlyphMetricsMap::GlyphMetricsPage::metricsForGlyph):
25384        (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForGlyph):
25385        (WebCore::GlyphMetricsMap::GlyphMetricsPage::setMetricsForIndex):
25386        (WebCore::GlyphMetricsMap::locatePage):
25387        * platform/graphics/GlyphWidthMap.cpp: Removed.
25388        * platform/graphics/GlyphWidthMap.h: Removed.
25389        * platform/graphics/SimpleFontData.cpp:
25390        (WebCore::SimpleFontData::platformGlyphInit):
25391        * platform/graphics/SimpleFontData.h:
25392        (WebCore::):
25393        (WebCore::SimpleFontData::widthForGlyph):
25394        (WebCore::SimpleFontData::metricsForGlyph):
25395        * platform/graphics/cairo/SimpleFontDataCairo.cpp:
25396        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25397        * platform/graphics/chromium/FontChromiumWin.cpp:
25398        (WebCore::Font::floatWidthForComplexText): Added parameter.
25399        * platform/graphics/chromium/FontLinux.cpp:
25400        (WebCore::Font::floatWidthForComplexText): Added parameter.
25401        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
25402        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25403        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
25404        (WebCore::SimpleFontData::platformWidthForGlyph): Name and signature vachange
25405        * platform/graphics/efl/FontEfl.cpp:
25406        (WebCore::Font::floatWidthForComplexText): Name and signature change.
25407        * platform/graphics/gtk/SimpleFontDataPango.cpp:
25408        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25409        * platform/graphics/haiku/FontHaiku.cpp:
25410        (WebCore::Font::floatWidthForComplexText): Added parameter.
25411        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
25412        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25413        * platform/graphics/mac/ComplexTextController.cpp:
25414        (WebCore::ComplexTextController::ComplexTextController):
25415        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
25416        * platform/graphics/mac/ComplexTextController.h:
25417        (WebCore::ComplexTextController::minGlyphBoundingBoxX):
25418        (WebCore::ComplexTextController::maxGlyphBoundingBoxX):
25419        (WebCore::ComplexTextController::minGlyphBoundingBoxY):
25420        (WebCore::ComplexTextController::maxGlyphBoundingBoxY):
25421        * platform/graphics/mac/FontComplexTextMac.cpp:
25422        (WebCore::Font::floatWidthForComplexText): Added paramter.
25423        * platform/graphics/mac/SimpleFontDataMac.mm:
25424        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25425        * platform/graphics/qt/FontQt.cpp:
25426        (WebCore::Font::floatWidthForComplexText): Added paramter.
25427        * platform/graphics/win/FontWin.cpp:
25428        (WebCore::Font::floatWidthForComplexText): Added parameter.
25429        * platform/graphics/win/SimpleFontDataCGWin.cpp:
25430        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25431        * platform/graphics/win/SimpleFontDataWin.cpp:
25432        (WebCore::SimpleFontData::metricsForGDIGlyph):
25433        * platform/graphics/win/UniscribeController.cpp:
25434        (WebCore::UniscribeController::UniscribeController):
25435        (WebCore::UniscribeController::shapeAndPlaceItem):
25436        * platform/graphics/win/UniscribeController.h:
25437        (WebCore::UniscribeController::minGlyphBoundingBoxX):
25438        (WebCore::UniscribeController::maxGlyphBoundingBoxX):
25439        (WebCore::UniscribeController::minGlyphBoundingBoxY):
25440        (WebCore::UniscribeController::maxGlyphBoundingBoxY):
25441        * platform/graphics/wince/FontWince.cpp:
25442        (WebCore::Font::floatWidthForComplexText): Added parameter.
25443        * platform/graphics/wx/FontWx.cpp:
25444        (WebCore::Font::floatWidthForComplexText): Added parameter.
25445        * platform/graphics/wx/SimpleFontDataWx.cpp:
25446        (WebCore::SimpleFontData::platformMetricsForGlyph): Name and signature change.
25447        * rendering/InlineFlowBox.cpp:
25448        (WebCore::InlineFlowBox::placeBoxesHorizontally):
25449        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
25450        (WebCore::InlineFlowBox::computeVerticalOverflow):
25451        * rendering/InlineTextBox.cpp:
25452        (WebCore::InlineTextBox::setFallbackFonts):
25453        (WebCore::InlineTextBox::fallbackFonts):
25454        (WebCore::InlineTextBox::setGlyphOverflow):
25455        (WebCore::InlineTextBox::glyphOverflow):
25456        * rendering/InlineTextBox.h:
25457        (WebCore::InlineTextBox::clearGlyphOverflowAndFallbackFontMap): Added.
25458        * rendering/RenderBlockLineLayout.cpp:
25459        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
25460        (WebCore::RenderBlock::layoutInlineChildren):
25461        * rendering/RenderText.cpp:
25462        (WebCore::RenderText::RenderText):
25463        (WebCore::RenderText::styleDidChange):
25464        (WebCore::RenderText::widthFromCache):
25465        (WebCore::RenderText::trimmedPrefWidths):
25466        (WebCore::RenderText::calcPrefWidths):
25467        (WebCore::RenderText::setText):
25468        (WebCore::RenderText::width):
25469        * rendering/RenderText.h:
25470
254712010-04-07  Joseph Pecoraro  <joepeck@webkit.org>
25472
25473        Reviewed by Darin Adler.
25474
25475        Fix incorrect white-space in WebGLRenderingContext.idl
25476        https://bugs.webkit.org/show_bug.cgi?id=31339
25477
25478        * html/canvas/WebGLRenderingContext.idl: Remove offending extra whitespace.
25479
254802010-04-07  Rodrigo Belem  <rodrigo.belem@openbossa.org>
25481
25482        Reviewed by Simon Hausmann.
25483
25484        [Qt] The build system is not installing the generated headers (QGraphicsWebView, QWebDatabase, etc)
25485        https://bugs.webkit.org/show_bug.cgi?id=37173
25486
25487        This patch sets the correct path to the classheaders.pri and then
25488        fixes the installation of the generated headers.
25489
25490        * WebCore.pro:
25491
254922010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
25493
25494        Reviewed by Kenneth Christiansen.
25495
25496        Spatial Navigation: bail out as soon as algorithm finds a focus candidate is not applicable
25497        https://bugs.webkit.org/show_bug.cgi?id=37135
25498
25499        It happens, for example, when distanceDataForNode assigns numeric_limits<long long> to
25500        current focus candidate's. It means that current candidate is not in direction, or not
25501        a valid target node.
25502
25503        * page/FocusController.cpp:
25504        (WebCore::FocusController::findFocusableNodeInDirection):
25505
255062010-04-07  Andrey Kosyakov  <caseq@chromium.org>
25507
25508        Reviewed by Yury Semikhatsky.
25509
25510        Removed inspector methods from ScriptExecutionContext and derived classes.
25511        Removed MessageDestination parameter from console-related calls (we now always
25512        log to the same destination(s)).
25513        Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
25514        https://bugs.webkit.org/show_bug.cgi?id=36949
25515
25516        * dom/Document.cpp:
25517        (WebCore::Document::reportException):
25518        (WebCore::Document::addMessage):
25519        * dom/Document.h:
25520        * dom/ScriptExecutionContext.h:
25521        * loader/EmptyClients.h:
25522        (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
25523        * loader/FrameLoaderClient.h:
25524        * loader/ResourceLoadNotifier.cpp:
25525        * loader/ResourceLoadNotifier.h:
25526        * websockets/WebSocket.cpp:
25527        (WebCore::WebSocket::connect):
25528        * websockets/WebSocketChannel.cpp:
25529        (WebCore::WebSocketChannel::didOpen):
25530        (WebCore::WebSocketChannel::appendToBuffer):
25531        * websockets/WebSocketHandshake.cpp:
25532        (WebCore::WebSocketHandshake::readServerHandshake):
25533        (WebCore::WebSocketHandshake::readHTTPHeaders):
25534        (WebCore::WebSocketHandshake::checkResponseHeaders):
25535        * workers/DefaultSharedWorkerRepository.cpp:
25536        (WebCore::postConsoleMessageTask):
25537        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
25538        * workers/WorkerContext.cpp:
25539        (WebCore::WorkerContext::importScripts):
25540        (WebCore::WorkerContext::addMessage):
25541        * workers/WorkerContext.h:
25542        * workers/WorkerMessagingProxy.cpp:
25543        (WebCore::postConsoleMessageTask):
25544        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
25545        * workers/WorkerMessagingProxy.h:
25546        * workers/WorkerReportingProxy.h:
25547        * xml/XMLHttpRequest.cpp:
25548        (WebCore::reportUnsafeUsage):
25549        (WebCore::XMLHttpRequest::didFinishLoading):
25550
255512010-04-07  Dawit Alemayehu  <adawit@kde.org>
25552
25553        Reviewed by Simon Hausmann.
25554
25555        https://bugs.webkit.org/show_bug.cgi?id=36827
25556
25557        Replaced the 'shouldTreatAsAttachment' function with a more generic 
25558        function that returns the content disposition type.
25559
25560        See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
25561
25562        * platform/network/HTTPParsers.cpp:
25563        (WebCore::contentDispositionType):
25564        * platform/network/HTTPParsers.h:
25565        (WebCore::):
25566
255672010-04-07  Vitaly Repeshko  <vitalyr@chromium.org>
25568
25569        Reviewed by Yury Semikhatsky.
25570
25571        [V8] Throw exception in SerializedScriptValue on input errors
25572        https://bugs.webkit.org/show_bug.cgi?id=37160
25573
25574        When cycles are detected SerializedScriptValue should throw
25575        NOT_SUPPORTED_ERR. See
25576        http://www.whatwg.org/specs/web-apps/2009-10-27/multipage/urls.html#structured-clone
25577
25578        * bindings/scripts/CodeGeneratorV8.pm: Custom processing for
25579        function arguments of type SerializedScriptValue.
25580
25581        * bindings/v8/SerializedScriptValue.cpp:
25582        (WebCore::SerializedScriptValue::SerializedScriptValue):
25583        * bindings/v8/SerializedScriptValue.h:
25584        (WebCore::SerializedScriptValue::create): Added a constructor
25585        function with an extra paratemer to check whether an exception was
25586        thrown.
25587
25588        SerializedScriptValue::create callers updated to check for
25589        exceptions:
25590        * bindings/v8/custom/V8DOMWindowCustom.cpp:
25591        (WebCore::V8DOMWindow::postMessageCallback):
25592        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
25593        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
25594        * bindings/v8/custom/V8HistoryCustom.cpp:
25595        (WebCore::V8History::pushStateCallback):
25596        (WebCore::V8History::replaceStateCallback):
25597        * bindings/v8/custom/V8MessagePortCustom.cpp:
25598        (WebCore::V8MessagePort::postMessageCallback):
25599        * bindings/v8/custom/V8PopStateEventCustom.cpp:
25600        (WebCore::V8PopStateEvent::initPopStateEventCallback):
25601        * bindings/v8/custom/V8WorkerCustom.cpp:
25602        (WebCore::V8Worker::postMessageCallback):
25603
256042010-04-07  Alexander Pavlov  <apavlov@chromium.org>
25605
25606        Reviewed by Pavel Feldman.
25607
25608        Web Inspector: Provide a placeholder for resources with no content available
25609        https://bugs.webkit.org/show_bug.cgi?id=37142
25610
25611        * English.lproj/localizedStrings.js:
25612        * inspector/front-end/ImageView.js:
25613        (WebInspector.ImageView):
25614        (WebInspector.ImageView.prototype.contentTabSelected):
25615        * inspector/front-end/ResourceView.js:
25616        (WebInspector.ResourceView.prototype._innerSelectContentTab):
25617        (WebInspector.ResourceView.prototype.contentTabSelected):
25618        * inspector/front-end/inspector.css:
25619        (.resource-content-unavailable):
25620
256212010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25622
25623        Reviewed by Laszlo Gombos.
25624
25625        https://bugs.webkit.org/show_bug.cgi?id=36750
25626
25627        [Qt] Package build without touch support is broken
25628
25629        Use the conditional attribute instead of #ifdefs in the idl file for the
25630        touch specific properties, to make the generated files compile with and
25631        without the touch events enabled.
25632
25633        * dom/Document.idl: Use conditional instead of #ifdef.
25634        * dom/Element.idl: Ditto.
25635        * page/DOMWindow.idl: Ditto.
25636
256372010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25638
25639        Reviewed by Holger Freyther.
25640
25641        Add the touch event related IDL files to the idl generation, so that
25642        they can be safely included from generated JS bindings files. The
25643        generated files have #ifdef feature guards.
25644
25645        * DerivedSources.cpp:
25646        * DerivedSources.make:
25647        * GNUmakefile.am:
25648
256492010-04-06  Jeremy Orlow  <jorlow@chromium.org>
25650
25651        Reviewed by Adam Barth.
25652
25653        V8CustomIDBCallbacks<> should not hold a reference to the frame
25654        https://bugs.webkit.org/show_bug.cgi?id=37154
25655
25656        Don't hold on to a Frame reference.
25657        Instead, be an ActiveDOMObject and use scriptExecutionContext()
25658        to get the v8 context.
25659        Factor the guts of onSuccess and onError out.
25660
25661        Doesn't work enough to test yet.
25662
25663        * bindings/v8/custom/V8CustomIDBCallbacks.h:
25664        (WebCore::V8CustomIDBCallbacks::create):
25665        (WebCore::V8CustomIDBCallbacks::onSuccess):
25666        (WebCore::V8CustomIDBCallbacks::onError):
25667        (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
25668        (WebCore::V8CustomIDBCallbacks::onEvent):
25669        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
25670        (WebCore::V8IndexedDatabaseRequest::openCallback):
25671        * storage/IDBCallbacks.h:
25672        (WebCore::IDBCallbacks::IDBCallbacks):
25673
256742010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>
25675
25676        Unreviewed, rolling out r57196.
25677        http://trac.webkit.org/changeset/57196
25678        https://bugs.webkit.org/show_bug.cgi?id=37196
25679
25680        Multiple layout test failures on Chromium (Requested by yurys
25681        on #webkit).
25682
25683        * bindings/js/ScriptCallStack.cpp:
25684        (WebCore::ScriptCallStack::callLocation):
25685        * bindings/js/ScriptCallStack.h:
25686        * bindings/v8/ScriptCallStack.cpp:
25687        (WebCore::ScriptCallStack::create):
25688        (WebCore::ScriptCallStack::callLocation):
25689        (WebCore::ScriptCallStack::ScriptCallStack):
25690        * bindings/v8/ScriptCallStack.h:
25691        * bindings/v8/ScriptDebugServer.cpp:
25692        * bindings/v8/ScriptDebugServer.h:
25693        * bindings/v8/V8Proxy.cpp:
25694        (WebCore::V8Proxy::createUtilityContext):
25695        (WebCore::V8Proxy::sourceLineNumber):
25696        (WebCore::V8Proxy::sourceName):
25697        * bindings/v8/V8Proxy.h:
25698        (WebCore::V8Proxy::utilityContext):
25699        * inspector/TimelineRecordFactory.cpp:
25700        (WebCore::TimelineRecordFactory::createGenericRecord):
25701
257022010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25703
25704        Unreviewed, rolling out r57199.
25705        http://trac.webkit.org/changeset/57199
25706        https://bugs.webkit.org/show_bug.cgi?id=36750
25707
25708        Breaks non-touch enabled build
25709
25710        * dom/Document.idl:
25711        * dom/Element.idl:
25712        * page/DOMWindow.idl:
25713
257142010-04-07  Simon Hausmann  <simon.hausmann@nokia.com>
25715
25716        Reviewed by Laszlo Gombos.
25717
25718        https://bugs.webkit.org/show_bug.cgi?id=36750
25719
25720        [Qt] Package build without touch support is broken
25721
25722        Use the conditional attribute instead of #ifdefs in the idl file for the
25723        touch specific properties, to make the generated files compile with and
25724        without the touch events enabled.
25725
25726        * dom/Document.idl: Use conditional instead of #ifdef.
25727        * dom/Element.idl: Ditto.
25728        * page/DOMWindow.idl: Ditto.
25729
257302010-04-07  Jaime Yap  <jaimeyap@google.com>
25731
25732        Reviewed by Yury Semikhatsky.
25733
25734        Adds the ability to get the function symbol name when looking up the call location
25735        for records sent by the InspectorTimelineAgent.
25736        https://bugs.webkit.org/show_bug.cgi?id=36839
25737
25738        No new tests.
25739
25740        * bindings/js/ScriptCallStack.cpp:
25741        (WebCore::ScriptCallStack::callLocation):
25742        * bindings/js/ScriptCallStack.h:
25743        * bindings/v8/ScriptCallStack.cpp:
25744        (WebCore::ScriptCallStack::create):
25745        (WebCore::ScriptCallStack::callLocation):
25746        (WebCore::ScriptCallStack::ScriptCallStack):
25747        * bindings/v8/ScriptCallStack.h:
25748        * bindings/v8/ScriptDebugServer.cpp:
25749        (WebCore::ScriptDebugServer::createUtilityContext):
25750        (WebCore::ScriptDebugServer::lastCallFrame):
25751        * bindings/v8/ScriptDebugServer.h:
25752        (WebCore::ScriptDebugServer::utilityContext):
25753        * bindings/v8/V8Proxy.cpp:
25754        * bindings/v8/V8Proxy.h:
25755        * inspector/TimelineRecordFactory.cpp:
25756        (WebCore::TimelineRecordFactory::createGenericRecord):
25757
257582010-04-06  Greg Bolsinga  <bolsinga@apple.com>
25759
25760        Reviewed by Darin Adler.
25761
25762        https://bugs.webkit.org/show_bug.cgi?id=37188
25763        WebCore::page::Geolocation::m_shouldClearCache is not used.
25764
25765        * page/Geolocation.cpp:
25766        (WebCore::Geolocation::Geolocation): Remove m_shouldClearCache.
25767        * page/Geolocation.h:
25768        (WebCore::Geolocation::): Ditto.
25769
257702010-04-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
25771
25772        Reviewed by Eric Seidel.
25773
25774        Remove obsolete MOBILE flag
25775        https://bugs.webkit.org/show_bug.cgi?id=37125
25776
25777        The MOBILE flag is no longer used by any of the ports.
25778        The flag use to control some tokenizer defaults that 
25779        can be changed runtime.
25780
25781        No new tests as there is no new functionality.
25782
25783        * config.h:
25784        * html/HTMLTokenizer.cpp:
25785
257862010-04-06  Adam Barth  <abarth@webkit.org>
25787
25788        Reviewed by Eric Seidel.
25789
25790        REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
25791        https://bugs.webkit.org/show_bug.cgi?id=36646
25792
25793        Cause the worker code to swallow termination exceptions because these
25794        need not be reported to the user because they are an implementation
25795        detail of how we terminate worker execution.
25796
25797        Test: fast/workers/worker-terminate-forever.html
25798
25799        * bindings/js/JSDOMBinding.cpp:
25800        (WebCore::reportException):
25801            - Refuse to report termination exceptions to the user because they
25802              are an implementation detail.
25803        * bindings/js/WorkerScriptController.cpp:
25804        (WebCore::WorkerScriptController::forbidExecution):
25805            - Instead of using timeouts to stop run away workers, use our fancy
25806              new Terminator object.
25807
258082010-04-06  Kinuko Yasuda  <kinuko@chromium.org>
25809
25810        Reviewed by Jian Li.
25811
25812        Add basic FileSystem operations for FileReader/FileWriter support for POSIX (incl. Mac)
25813        https://bugs.webkit.org/show_bug.cgi?id=36938
25814
25815        No new tests; will be added when we implement upper layers.
25816
25817        * platform/FileSystem.h:
25818        (WebCore::):
25819        * platform/posix/FileSystemPOSIX.cpp:
25820        (WebCore::openFile):
25821        (WebCore::closeFile):
25822        (WebCore::seekFile):
25823        (WebCore::truncateFile):
25824        (WebCore::writeToFile):
25825        (WebCore::readFromFile):
25826
258272010-04-06  Nicolas Weber  <thakis@chromium.org>
25828
25829        Reviewed by Dimitri Glazkov.
25830
25831        Implement DragImage functionality for chromium/mac.
25832        https://bugs.webkit.org/show_bug.cgi?id=37069
25833
25834        * page/chromium/DragControllerChromium.cpp:
25835        (WebCore::DragController::maxDragImageSize):
25836        Use a max size of 400x400 on OS X.
25837        * platform/chromium/DragImageChromiumMac.cpp:
25838        (WebCore::dragImageSize): Implement.
25839        (WebCore::deleteDragImage): Implement.
25840        (WebCore::scaleDragImage): Implement.
25841        (WebCore::dissolveDragImageToFraction): Implement.
25842        (WebCore::createDragImageFromImage): Implement.
25843        * platform/chromium/DragImageRef.h:
25844        Use CGImageRefs as DragImageRef on OS X.
25845
258462010-04-06  Chris Evans  <cevans@chromium.org>
25847
25848        Reviewed by Adam Barth.
25849
25850        Use the new UserGestureIndictor to process javascript:window.open()
25851
25852        https://bugs.webkit.org/show_bug.cgi?id=37138
25853
25854        * bindings/v8/ScriptController.cpp
25855        (WebCore::ScriptController::processingUserGesture):
25856          Use the new UserGestureIndicator when processing a
25857          javascript:window.open()
25858
258592010-04-06  Vangelis Kokkevis  <vangelis@chromium.org>
25860
25861        Reviewed by Dimitri Glazkov.
25862
25863        Renaming Graphics Layer related classes used by Chromium from *Skia to *Chromium and replacing wherever possible Skia-specific
25864        data types with WebCore equivalents. The source files will be renamed accordingly and moved out of platform/graphics/skia
25865        in a subsequent CL.
25866        https://bugs.webkit.org/show_bug.cgi?id=37116
25867
25868        No new functionality so no new tests.
25869
25870        * platform/graphics/GraphicsLayer.h:
25871        * platform/graphics/skia/GraphicsLayerSkia.cpp:
25872        (WebCore::setLayerBorderColor):
25873        (WebCore::clearBorderColor):
25874        (WebCore::setLayerBackgroundColor):
25875        (WebCore::clearLayerBackgroundColor):
25876        (WebCore::GraphicsLayer::create):
25877        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
25878        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
25879        (WebCore::GraphicsLayerChromium::setName):
25880        (WebCore::GraphicsLayerChromium::nativeLayer):
25881        (WebCore::GraphicsLayerChromium::setChildren):
25882        (WebCore::GraphicsLayerChromium::addChild):
25883        (WebCore::GraphicsLayerChromium::addChildAtIndex):
25884        (WebCore::GraphicsLayerChromium::addChildBelow):
25885        (WebCore::GraphicsLayerChromium::addChildAbove):
25886        (WebCore::GraphicsLayerChromium::replaceChild):
25887        (WebCore::GraphicsLayerChromium::removeFromParent):
25888        (WebCore::GraphicsLayerChromium::setPosition):
25889        (WebCore::GraphicsLayerChromium::setAnchorPoint):
25890        (WebCore::GraphicsLayerChromium::setSize):
25891        (WebCore::GraphicsLayerChromium::setTransform):
25892        (WebCore::GraphicsLayerChromium::setChildrenTransform):
25893        (WebCore::GraphicsLayerChromium::setPreserves3D):
25894        (WebCore::GraphicsLayerChromium::setMasksToBounds):
25895        (WebCore::GraphicsLayerChromium::setDrawsContent):
25896        (WebCore::GraphicsLayerChromium::setBackgroundColor):
25897        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
25898        (WebCore::GraphicsLayerChromium::setContentsOpaque):
25899        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
25900        (WebCore::GraphicsLayerChromium::setOpacity):
25901        (WebCore::GraphicsLayerChromium::setNeedsDisplay):
25902        (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
25903        (WebCore::GraphicsLayerChromium::setContentsRect):
25904        (WebCore::GraphicsLayerChromium::setContentsToImage):
25905        (WebCore::GraphicsLayerChromium::setContentsToVideo):
25906        (WebCore::GraphicsLayerChromium::setGeometryOrientation):
25907        (WebCore::GraphicsLayerChromium::hostLayerForSublayers):
25908        (WebCore::GraphicsLayerChromium::layerForSuperlayer):
25909        (WebCore::GraphicsLayerChromium::platformLayer):
25910        (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
25911        (WebCore::GraphicsLayerChromium::setDebugBorder):
25912        (WebCore::GraphicsLayerChromium::updateSublayerList):
25913        (WebCore::GraphicsLayerChromium::updateLayerPosition):
25914        (WebCore::GraphicsLayerChromium::updateLayerSize):
25915        (WebCore::GraphicsLayerChromium::updateAnchorPoint):
25916        (WebCore::GraphicsLayerChromium::updateTransform):
25917        (WebCore::GraphicsLayerChromium::updateChildrenTransform):
25918        (WebCore::GraphicsLayerChromium::updateMasksToBounds):
25919        (WebCore::GraphicsLayerChromium::updateContentsOpaque):
25920        (WebCore::GraphicsLayerChromium::updateBackfaceVisibility):
25921        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
25922        (WebCore::GraphicsLayerChromium::updateLayerDrawsContent):
25923        (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
25924        (WebCore::GraphicsLayerChromium::updateContentsImage):
25925        (WebCore::GraphicsLayerChromium::updateContentsVideo):
25926        (WebCore::GraphicsLayerChromium::updateContentsRect):
25927        (WebCore::GraphicsLayerChromium::updateGeometryOrientation):
25928        (WebCore::GraphicsLayerChromium::setupContentsLayer):
25929        (WebCore::GraphicsLayerChromium::updateOpacityOnLayer):
25930        * platform/graphics/skia/GraphicsLayerSkia.h:
25931        (WebCore::GraphicsLayerChromium::primaryLayer):
25932        (WebCore::GraphicsLayerChromium::contentsLayer):
25933        * platform/graphics/skia/LayerRendererSkia.cpp:
25934        (WebCore::LayerRendererChromium::create):
25935        (WebCore::LayerRendererChromium::LayerRendererChromium):
25936        (WebCore::LayerRendererChromium::~LayerRendererChromium):
25937        (WebCore::LayerRendererChromium::updateLayerContents):
25938        (WebCore::LayerRendererChromium::drawLayersInCanvas):
25939        (WebCore::LayerRendererChromium::drawLayerInCanvasRecursive):
25940        (WebCore::LayerRendererChromium::updateLayerContentsRecursive):
25941        * platform/graphics/skia/LayerRendererSkia.h:
25942        (WebCore::LayerRendererChromium::setRootLayer):
25943        (WebCore::LayerRendererChromium::rootLayer):
25944        * platform/graphics/skia/LayerSkia.cpp:
25945        (WebCore::LayerChromium::create):
25946        (WebCore::LayerChromium::LayerChromium):
25947        (WebCore::LayerChromium::~LayerChromium):
25948        (WebCore::LayerChromium::updateGraphicsContext):
25949        (WebCore::LayerChromium::updateContents):
25950        (WebCore::LayerChromium::drawDebugBorder):
25951        (WebCore::LayerChromium::setNeedsCommit):
25952        (WebCore::LayerChromium::addSublayer):
25953        (WebCore::LayerChromium::insertSublayer):
25954        (WebCore::LayerChromium::removeFromSuperlayer):
25955        (WebCore::LayerChromium::removeSublayer):
25956        (WebCore::LayerChromium::indexOfSublayer):
25957        (WebCore::LayerChromium::setBackingStoreRect):
25958        (WebCore::LayerChromium::setBounds):
25959        (WebCore::LayerChromium::setFrame):
25960        (WebCore::LayerChromium::rootLayer):
25961        (WebCore::LayerChromium::removeAllSublayers):
25962        (WebCore::LayerChromium::setSublayers):
25963        (WebCore::LayerChromium::setSuperlayer):
25964        (WebCore::LayerChromium::superlayer):
25965        (WebCore::LayerChromium::setNeedsDisplay):
25966        * platform/graphics/skia/LayerSkia.h:
25967        (WebCore::LayerChromium::setAnchorPoint):
25968        (WebCore::LayerChromium::anchorPoint):
25969        (WebCore::LayerChromium::borderWidth):
25970        (WebCore::LayerChromium::bounds):
25971        (WebCore::LayerChromium::frame):
25972        (WebCore::LayerChromium::setPosition):
25973        (WebCore::LayerChromium::position):
25974        (WebCore::LayerChromium::zPosition):
25975        (WebCore::LayerChromium::getSublayers):
25976        (WebCore::LayerChromium::setSublayerTransform):
25977        (WebCore::LayerChromium::sublayerTransform):
25978        (WebCore::LayerChromium::setTransform):
25979        (WebCore::LayerChromium::transform):
25980
259812010-04-06  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
25982
25983        Reviewed by Laszlo Gombos.
25984
25985        [Qt] WebKit does not build on Windows with --3d-canvas
25986        https://bugs.webkit.org/show_bug.cgi?id=37026
25987
25988        * platform/graphics/GraphicsContext3D.h:
25989        * platform/graphics/qt/GraphicsContext3DQt.cpp:
25990        (WebCore::GraphicsContext3D::getActiveAttrib):
25991        (WebCore::GraphicsContext3D::getActiveUniform):
25992
259932010-04-06  Abhinav Mithal <abhinav.mithal@nokia.com>
25994
25995        Reviewed by Laszlo Gombos.
25996
25997        [Qt] npapi header leaves XP_WIN flag defined even when __SYMBIAN32__ flag is found
25998        https://bugs.webkit.org/show_bug.cgi?id=34614
25999
26000        Do not define XP_WIN if WebKit is compiled for Symbian.
26001
26002        No new tests as there is no new functionality.
26003
26004        * bridge/npapi.h:
26005
260062010-04-06  Chris Fleizach  <cfleizach@apple.com>
26007
26008        Reviewed by Beth Dakin.
26009
26010        aria-label doesn't work on image map area
26011        https://bugs.webkit.org/show_bug.cgi?id=36977
26012
26013        Test: platform/mac/accessibility/area-with-aria-label.html
26014
26015        * accessibility/AccessibilityImageMapLink.cpp:
26016        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
26017
260182010-04-06  James Robinson  <jamesr@chromium.org>
26019
26020        Reviewed by Simon Fraser.
26021
26022        Reverts the incorrect fixed position fastpath scrolling logic
26023        https://bugs.webkit.org/show_bug.cgi?id=33150
26024
26025        This code does not properly handle overflow or transforms on fixed
26026        position elements, causing repaint bugs on scroll.
26027
26028        No new tests.
26029
26030        * page/FrameView.cpp:
26031        (WebCore::FrameView::addFixedObject):
26032        (WebCore::FrameView::removeFixedObject):
26033        * page/FrameView.h:
26034        * platform/ScrollView.cpp:
26035        (WebCore::ScrollView::scrollContents):
26036        * platform/ScrollView.h:
26037        * rendering/RenderObject.cpp:
26038        (WebCore::RenderObject::styleWillChange):
26039
260402010-04-06  Kevin Ollivier  <kevino@theolliviers.com>
26041
26042        [wx] Build fix for wxMac / Cocoa on wx trunk.
26043        
26044        * platform/wx/wxcode/mac/carbon/fontprops.mm:
26045        (wxFontContainsCharacters):
26046
260472010-04-06  Simon Hausmann  <simon.hausmann@nokia.com>
26048
26049        Reviewed by Darin Adler.
26050
26051        JS code generator does not support feature conditional attributes that are writable
26052        https://bugs.webkit.org/show_bug.cgi?id=37149
26053
26054        Write out the feature #ifdef not only for the getter, but also for the setter
26055        function.
26056
26057        * bindings/scripts/CodeGeneratorJS.pm:
26058
260592010-04-06  Evan Stade  <estade@chromium.org>
26060
26061        Reviewed by Dimitri Glazkov.
26062
26063        [chromium] need DragImage implementation
26064        https://bugs.webkit.org/show_bug.cgi?id=35811
26065
26066        Use the DragImageRef that the DragController passes to us.
26067
26068        This was previously committed but rolled back for breaking layout
26069        tests. The fix is on the WebKit/chromium side.
26070
26071        * WebCore.gyp/WebCore.gyp:
26072        * WebCore.gypi:
26073        * platform/chromium/DragImageChromium.cpp: Removed.
26074        * platform/chromium/DragImageChromiumMac.cpp: Added.
26075        (WebCore::dragImageSize):
26076        (WebCore::deleteDragImage):
26077        (WebCore::scaleDragImage):
26078        (WebCore::dissolveDragImageToFraction):
26079        (WebCore::createDragImageFromImage):
26080        (WebCore::createDragImageIconForCachedImage):
26081        * platform/chromium/DragImageChromiumSkia.cpp: Added.
26082        (WebCore::dragImageSize):
26083        (WebCore::deleteDragImage):
26084        (WebCore::scaleDragImage):
26085        (WebCore::dissolveDragImageToFraction):
26086        (WebCore::createDragImageFromImage):
26087        (WebCore::createDragImageIconForCachedImage):
26088        * platform/chromium/DragImageRef.h:
26089
260902010-04-01  Yuzo Fujishima  <yuzo@google.com>
26091
26092        Reviewed by Darin Adler.
26093
26094        Fix bug: CSS3 :not selector with ID simple selector sequence test fails
26095        As per http://www.w3.org/TR/css3-selectors/#negation, :not(X) takes a simple selector as an argument.
26096        WebKit was accepting a simple selector *sequence*.
26097        This patch adds WebCore::CSSSelector::isSimple which judges if the selector is simple.
26098        The method is used in CSSGrammar.y to decide whether to accept the selector as the argument of :not().
26099        https://bugs.webkit.org/show_bug.cgi?id=36276
26100
26101        Test: fast/css/invalid-not-with-simple-selector-sequence.html
26102
26103        * css/CSSGrammar.y:
26104        * css/CSSSelector.cpp:
26105        (WebCore::CSSSelector::isSimple):
26106        * css/CSSSelector.h:
26107
261082010-04-06  Andy Estes  <aestes@apple.com>
26109
26110        Rubber-stamped by Dan Bernstein.
26111
26112        Remove non-ASCII characters from license headers to fix build errors on
26113        Japanese Windows.
26114
26115        https://bugs.webkit.org/show_bug.cgi?id=37008
26116
26117        * dom/UserGestureIndicator.cpp:
26118        * dom/UserGestureIndicator.h:
26119
261202010-04-06  Andrei Popescu  <andreip@google.com>
26121
26122        Reviewed by Dimitri Glazkov.
26123
26124        [V8][Android] PageCache crashes when JavaScript is disabled
26125        https://bugs.webkit.org/show_bug.cgi?id=37150
26126
26127        This patch ensures that saving and restoration of the script
26128        state only happens when JS is enabled and each frame has a
26129        non-null context.
26130
26131        No new tests: existing tests show the feature is working
26132        when JS is enabled. When JS is disabled, manual testing
26133        is required.
26134
26135        * bindings/v8/ScriptCachedFrameData.cpp:
26136        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
26137        (WebCore::ScriptCachedFrameData::restore):
26138
261392010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
26140
26141        Unreviewed build fix.
26142
26143        Web Inspector: missed files were added.
26144
26145
26146        * GNUmakefile.am:
26147        * bindings/js/ScriptGCEvent.h: Added.
26148        (WebCore::ScriptGCEvent::addEventListener):
26149        (WebCore::ScriptGCEvent::removeEventListener):
26150        (WebCore::ScriptGCEvent::getHeapSize):
26151        * bindings/v8/ScriptGCEvent.cpp: Added.
26152        (WebCore::ScriptGCEvent::addEventListener):
26153        (WebCore::ScriptGCEvent::removeEventListener):
26154        (WebCore::ScriptGCEvent::getHeapSize):
26155        (WebCore::ScriptGCEvent::getUsedHeapSize):
26156        (WebCore::ScriptGCEvent::gcPrologueCallback):
26157        (WebCore::ScriptGCEvent::gcEpilogueCallback):
26158        * bindings/v8/ScriptGCEvent.h: Added.
26159        * inspector/ScriptGCEventListener.h: Added.
26160        (WebCore::ScriptGCEventListener::~ScriptGCEventListener):
26161
261622010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
26163
26164        Reviewed by Pavel Feldman.
26165
26166        Web Inspector: The JS code can be not optimal from memory usage point of view.
26167        As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
26168        GC event will show us these moments. Also each event can show us how much memory is in use.
26169        https://bugs.webkit.org/show_bug.cgi?id=37025
26170
26171        * WebCore.gypi:
26172        * WebCore.pro:
26173        * inspector/InspectorTimelineAgent.cpp:
26174        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
26175        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
26176        (WebCore::InspectorTimelineAgent::didGC):
26177        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
26178        (WebCore::InspectorTimelineAgent::didInstallTimer):
26179        (WebCore::InspectorTimelineAgent::didRemoveTimer):
26180        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
26181        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
26182        (WebCore::InspectorTimelineAgent::didMarkTimeline):
26183        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
26184        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
26185        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
26186        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
26187        * inspector/InspectorTimelineAgent.h:
26188        (WebCore::):
26189        (WebCore::InspectorTimelineAgent::instanceCount):
26190        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
26191        (WebCore::InspectorTimelineAgent::GCEvent::GCEvent):
26192        * inspector/TimelineRecordFactory.cpp:
26193        (WebCore::TimelineRecordFactory::createGCEventData):
26194        * inspector/TimelineRecordFactory.h:
26195        * inspector/front-end/Popover.js:
26196        (WebInspector.PopoverHelper.prototype._mouseHover):
26197        * inspector/front-end/TimelineAgent.js:
26198        * inspector/front-end/TimelinePanel.js:
26199        (WebInspector.TimelinePanel.prototype.get _recordStyles):
26200        (WebInspector.TimelinePanel.FormattedRecord):
26201        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
26202        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
26203
262042010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26205
26206        Reviewed by Laszlo Gombos.
26207
26208        Remove unused DIRECTIONAL_PAD_NAVIGATION
26209        https://bugs.webkit.org/show_bug.cgi?id=37134
26210
26211        Android browser was planning to have a "directional pad navigation" available on
26212        trunk, guarded by a build flag named DIRECTIONAL_PAD_NAVIGATION, but according to
26213        https://bugs.webkit.org/show_bug.cgi?id=23145#c3 , the plan was dropped.
26214
26215        However bug 23163 landed some code relying on the build flag supposedly to be added,
26216        and is now dead code in trunk.
26217
26218        * dom/Element.cpp:
26219        (WebCore::Element::updateFocusAppearance):
26220
262212010-04-06  Mattias Nissler  <mnissler@chromium.org>
26222
26223        Reviewed by Pavel Feldman.
26224
26225        Rework inspector docking to issue a request call from the frontend
26226        whenever the user triggers to (un)dock the inspector window. Doing so
26227        enables InspectorFrontendHost implementations to asynchronously decide
26228        whether the window is docked or not. The old canAttachWindow() is not
26229        required anymore, remove it.
26230        https://bugs.webkit.org/show_bug.cgi?id=36944
26231
26232        * inspector/InspectorFrontendClient.h:
26233        * inspector/InspectorFrontendClientLocal.cpp:
26234        (WebCore::InspectorFrontendClientLocal::requestAttachWindow):
26235        * inspector/InspectorFrontendClientLocal.h:
26236        * inspector/InspectorFrontendHost.cpp:
26237        (WebCore::InspectorFrontendHost::requestAttachWindow):
26238        * inspector/InspectorFrontendHost.h:
26239        * inspector/InspectorFrontendHost.idl:
26240        * inspector/front-end/inspector.js:
26241        (WebInspector.toggleAttach):
26242
262432010-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
26244
26245        Reviewed by Yury Semikhatsky.
26246
26247        [V8] Extend the set of types supported by SerializedScriptValue
26248        https://bugs.webkit.org/show_bug.cgi?id=37052
26249
26250        New types include sparse arrays, Uint32, Date, and ImageData.
26251
26252        Serialization process became more flexible. A state can either
26253        directly write primitive values (instead of returning them like
26254        iterator) or construct a new state for serializing complex values
26255        that will return to the current state when done.
26256
26257        Deserialization process now avoids exposing the tags using a set
26258        of factory functions for complex objects instead.
26259
26260        Internal buffer type changed to uint8_t to be independent of
26261        whether char is signed or not.
26262
26263        * bindings/v8/SerializedScriptValue.cpp:
26264        (WebCore::):
26265        (WebCore::Writer::Writer):
26266        (WebCore::Writer::writeString):
26267        (WebCore::Writer::writeUint32):
26268        (WebCore::Writer::writeDate):
26269        (WebCore::Writer::writeNumber):
26270        (WebCore::Writer::writeImageData):
26271        (WebCore::Writer::writeArray):
26272        (WebCore::Writer::writeObject):
26273        (WebCore::Writer::writeSparseArray):
26274        (WebCore::Writer::doWriteUint32):
26275        (WebCore::Writer::doWriteNumber):
26276        (WebCore::Writer::append):
26277        (WebCore::Writer::fillHole):
26278        (WebCore::Writer::byteAt):
26279        (WebCore::Serializer::Serializer):
26280        (WebCore::Serializer::serialize):
26281        (WebCore::Serializer::writeArray):
26282        (WebCore::Serializer::writeObject):
26283        (WebCore::Serializer::writeSparseArray):
26284        (WebCore::Serializer::StateBase::StateBase):
26285        (WebCore::Serializer::ErrorState::ErrorState):
26286        (WebCore::Serializer::ErrorState::advance):
26287        (WebCore::Serializer::State::composite):
26288        (WebCore::Serializer::State::State):
26289        (WebCore::Serializer::ArrayState::ArrayState):
26290        (WebCore::Serializer::ArrayState::advance):
26291        (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
26292        (WebCore::Serializer::AbstractObjectState::advance):
26293        (WebCore::Serializer::ObjectState::ObjectState):
26294        (WebCore::Serializer::ObjectState::objectDone):
26295        (WebCore::Serializer::SparseArrayState::SparseArrayState):
26296        (WebCore::Serializer::SparseArrayState::objectDone):
26297        (WebCore::Serializer::push):
26298        (WebCore::Serializer::pop):
26299        (WebCore::Serializer::handleError):
26300        (WebCore::Serializer::checkComposite):
26301        (WebCore::Serializer::writeString):
26302        (WebCore::Serializer::writeImageData):
26303        (WebCore::Serializer::newArrayState):
26304        (WebCore::Serializer::newObjectState):
26305        (WebCore::Serializer::doSerialize):
26306        (WebCore::Reader::Reader):
26307        (WebCore::Reader::read):
26308        (WebCore::Reader::readString):
26309        (WebCore::Reader::readUint32):
26310        (WebCore::Reader::readDate):
26311        (WebCore::Reader::readNumber):
26312        (WebCore::Reader::readImageData):
26313        (WebCore::Reader::doReadUint32):
26314        (WebCore::Reader::doReadNumber):
26315        (WebCore::Deserializer::Deserializer):
26316        (WebCore::Deserializer::createArray):
26317        (WebCore::Deserializer::createObject):
26318        (WebCore::Deserializer::createSparseArray):
26319        (WebCore::Deserializer::initializeObject):
26320        (WebCore::Deserializer::doDeserialize):
26321        (WebCore::Deserializer::stackDepth):
26322        (WebCore::SerializedScriptValue::deserialize):
26323
263242010-04-06  Csaba Osztrogonác  <ossy@webkit.org>
26325
26326        Unreviewed buildfix for --minimal build.
26327        Buildfix after r57134. Add ENABLE(WORKERS) guard.
26328
26329        original bug: https://bugs.webkit.org/show_bug.cgi?id=36375
26330
26331        * bindings/js/JSWorkerContextErrorHandler.cpp:
26332
263332010-04-06  Dirk Schulze  <krit@webkit.org>
26334
26335        Reviewed by Oliver Hunt.
26336
26337        SVG/SMIL parse failure on attribute keySplines
26338        https://bugs.webkit.org/show_bug.cgi?id=37071
26339
26340        Test: svg/animations/animate-keySplines.html
26341
26342        The String in 'keySplines' can have multiple spaces between numbers
26343        and delimiters. The parsing code is inspired by SVGParserUtilities
26344        and respects this.
26345
26346        * svg/SVGAnimationElement.cpp:
26347        (WebCore::parseKeySplines):
26348
263492010-04-06  Yury Semikhatsky  <yurys@chromium.org>
26350
26351        Reviewed by Pavel Feldman.
26352
26353        Refactored error reporting mechanizm on Worker Global Objects.
26354        Unlike other event listeners which accept single argument(Event)
26355        onerror handler on worker global object should be a function
26356        accepting three arguments. This error reporting was implementedas
26357        EventListener::reportError method which had custom implementations
26358        for v8 and JSC. This patch removes EventListener::reportError and
26359        moves its functionality into custom bindings(V8WorkerContextErrorHandler
26360        and JSWorkerContextErrorHandler) that implement EventListener inerface
26361        for the onerror handler.
26362
26363        This patch also makes uncaught exceptions that happen in the onerror
26364        listener be reported to the Worker's onerror handler.
26365
26366        https://bugs.webkit.org/show_bug.cgi?id=36375
26367
26368        * Android.jscbindings.mk:
26369        * GNUmakefile.am:
26370        * WebCore.gypi:
26371        * WebCore.pro:
26372        * WebCore.vcproj/WebCore.vcproj:
26373        * WebCore.xcodeproj/project.pbxproj:
26374        * bindings/js/JSBindingsAllInOne.cpp:
26375        * bindings/js/JSEventListener.cpp:
26376        * bindings/js/JSEventListener.h:
26377        * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
26378        (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
26379        (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
26380        (WebCore::JSWorkerContextErrorHandler::handleEvent):
26381        * bindings/js/JSWorkerContextErrorHandler.h: Added.
26382        (WebCore::JSWorkerContextErrorHandler::create):
26383        (WebCore::createJSWorkerContextErrorHandler):
26384        * bindings/scripts/CodeGeneratorJS.pm:
26385        * bindings/scripts/CodeGeneratorV8.pm:
26386        * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
26387        (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
26388        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
26389        * bindings/v8/V8WorkerContextErrorHandler.h: Added.
26390        (WebCore::V8WorkerContextErrorHandler::create):
26391        * bindings/v8/V8WorkerContextEventListener.cpp:
26392        * bindings/v8/V8WorkerContextEventListener.h:
26393        * dom/EventListener.h:
26394        * workers/WorkerContext.cpp:
26395        (WebCore::WorkerContext::WorkerContext):
26396        (WebCore::WorkerContext::reportException):
26397        * workers/WorkerContext.h:
26398
263992010-04-06  Pavel Feldman  <pfeldman@chromium.org>
26400
26401        Not reviewed: reverting v8 change at r57079 for crashing Chromium layout tests.
26402
264032010-04-05  MORITA Hajime  <morrita@google.com>
26404
26405        Reviewed by Darin Adler.
26406
26407        RenderProgress.cpp is missing CurrentTime.h
26408        https://bugs.webkit.org/show_bug.cgi?id=37080
26409
26410        No new tests. just fixed compilation error.
26411
26412        * rendering/RenderProgress.cpp:
26413
26414
264152010-04-05  Eric Uhrhane  <ericu@chromium.org>
26416
26417        Reviewed by Brady Eidson.
26418
26419        window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5
26420        https://bugs.webkit.org/show_bug.cgi?id=36671
26421
26422        The previous "fix" I mistakenly compared hashes, an improvement over comparing pointers, but still not right.
26423
26424        No new tests.
26425
26426        * storage/DatabaseTracker.cpp:
26427        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Use SecurityOrigin::equal to compare instead of SecurityOriginHash.
26428
264292010-04-05  Anthony Ricaud  <rik@webkit.org>
26430
26431        Reviewed by Timothy Hatcher.
26432
26433        Web Inspector: Audits launcher view is unusable with a small height window
26434        https://bugs.webkit.org/show_bug.cgi?id=37109
26435
26436        Use flex box instead of absolute positioning to avoid overlapping elements.
26437
26438        * inspector/front-end/AuditLauncherView.js:
26439        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
26440        * inspector/front-end/audits.css:
26441        (.audit-launcher-view .audit-launcher-view-content):
26442        (.audit-launcher-view div.button-container):
26443        (.audit-launcher-view .flexible-space):
26444
264452010-04-05  Luiz Agostini  <luiz.agostini@openbossa.org>
26446
26447        Reviewed by Kenneth Rohde Christiansen.
26448
26449        [Qt] Maemo5 theme - wrong spelling
26450        https://bugs.webkit.org/show_bug.cgi?id=37110
26451
26452        Correcting wrong spelling in RenderThemeQt.cpp.
26453
26454        * platform/qt/RenderThemeQt.cpp:
26455
264562010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26457
26458        Reviewed by Kenneth Rohde Christiansen.
26459
26460        Add EFL-specific code to platform/Platform*Event.h.
26461        http://webkit.org/b/36309
26462
26463        * platform/PlatformWheelEvent.h:
26464        * platform/PlatformMouseEvent.h:
26465        * platform/PlatformKeyboardEvent.h:
26466
264672010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26468
26469        Reviewed by Kenneth Rohde Christiansen.
26470
26471        Add EFL-specific code to platform/graphics/*.h.
26472        http://webkit.org/b/36308
26473
26474        * platform/graphics/Icon.h:
26475        * platform/graphics/IntRect.h:
26476        * platform/graphics/FloatRect.h:
26477        * platform/graphics/IntPoint.h:
26478
264792010-04-05  Robert Hogan  <robert@webkit.org>
26480
26481        Reviewed by Kenneth Rohde Christiansen.
26482
26483        [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26484
26485        Put a maximum on consecutive redirections so we don't have to
26486        worry about whether it's the same url or not.
26487
26488        Tolerate up to 10 consecutive redirections, anything beyond
26489        that is considered a potentially infinite recursion in the
26490        redirection requests. This is the same behaviour as Firefox.
26491
26492        https://bugs.webkit.org/show_bug.cgi?id=37097
26493
26494        * platform/network/qt/QNetworkReplyHandler.cpp:
26495        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
26496        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26497        * platform/network/qt/QNetworkReplyHandler.h:
26498
264992010-04-05  Dimitri Glazkov  <dglazkov@chromium.org> and James Robinson <jamesr@chromium.org>
26500
26501        Reviewed by Darin Adler and Dimitri Glazkov.
26502
26503        Style update done due to mutation event dispatching in textarea can be
26504        used to corrupt the render tree.
26505        https://bugs.webkit.org/show_bug.cgi?id=36864
26506
26507        Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
26508               fast/forms/select-change-popup-to-listbox-roundtrip.html
26509               fast/forms/textarea-and-mutation-events.html
26510
26511        * dom/Document.cpp:
26512        (WebCore::Document::finishedParsing): Added updateStyleIfNeeded()
26513            call to ensure that object loads start before firing window load.
26514        * dom/Node.cpp:
26515        (WebCore::Node::dispatchGenericEvent): Removed invocation of
26516            Document::updateStyleForAllDocuments
26517        * html/HTMLSelectElement.cpp:
26518        (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
26519            recalc to ensure accuracy of representation, especially for
26520            menuList/listBox switches.
26521
265222010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26523
26524        Reviewed by Laszlo Gombos.
26525
26526        Cleaned up spatial-navigation-test-cases.html by removing the wrongly
26527        used <frameset> tag.
26528
26529        Patch also adds a manual-test specifically to test Spatial Navigation with framesets.
26530
26531        * manual-tests/spatial-navigation/frameset.html: Added.
26532        * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
26533
265342010-04-05  Mark Rowe  <mrowe@apple.com>
26535
26536        Reviewed by Adele Peterson.
26537
26538        Roll out r56989 as it introduced crashes in Mail.
26539        <http://webkit.org/b/37115> / <rdar://problem/7829331>
26540
26541        * dom/Position.cpp:
26542        (WebCore::Position::isCandidate):
26543        * dom/PositionIterator.cpp:
26544        (WebCore::PositionIterator::isCandidate):
26545
265462010-04-05  Darin Adler  <darin@apple.com>
26547
26548        Reviewed by Sam Weinig.
26549
26550        Images must re-load when an image-holding element moves into a new document
26551        https://bugs.webkit.org/show_bug.cgi?id=37127
26552
26553        Test: fast/images/move-image-to-new-document.html
26554
26555        * html/HTMLImageElement.cpp:
26556        (WebCore::HTMLImageElement::willMoveToNewOwnerDocument): Call ImageLoader's
26557        elementWillMoveToNewOwnerDocument function.
26558        * html/HTMLImageElement.h: Added willMoveToNewOwnerDocument.
26559        * html/HTMLInputElement.cpp:
26560        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Ditto.
26561        * html/HTMLPlugInImageElement.cpp:
26562        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Ditto.
26563        * html/HTMLPlugInImageElement.h: Ditto.
26564        * html/HTMLVideoElement.cpp:
26565        (WebCore::HTMLVideoElement::willMoveToNewOwnerDocument): Ditto.
26566        * html/HTMLVideoElement.h: Ditto.
26567        * svg/SVGImageElement.cpp:
26568        (WebCore::SVGImageElement::willMoveToNewOwnerDocument): Ditto.
26569        * svg/SVGImageElement.h: Ditto.
26570
26571        * html/HTMLMediaElement.h: Made willMoveToNewOwnerDocument protected
26572        so it can be called by HTMLVideoElement.cpp.
26573
26574        * loader/ImageLoader.cpp:
26575        (WebCore::ImageLoader::elementWillMoveToNewOwnerDocument): Added.
26576        Resets the loader by clearing out the cached image.
26577        * loader/ImageLoader.h: Added it.
26578
265792010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
26580
26581        Reviewed by Kenneth Rohde Christiansen.
26582
26583        [Symbian] Consolidate Symbian WINSCW environment configuration
26584        https://bugs.webkit.org/show_bug.cgi?id=37100
26585
26586        Move the "undefinition" of WIN32 and _WIN32 from WebCore/config.h
26587        to JavaScriptCore/wtf/Platform.h as it is not specific to WebCore.
26588
26589        No new tests as there is no new functionality.
26590
26591        * config.h:
26592
265932010-04-05  Leandro Pereira  <leandro@profusion.mobi>
26594
26595        Reviewed by Kenneth Rohde Christiansen.
26596
26597        Add missing ClipboardEfl.h to platform/efl.
26598        http://webkit.org/b/36242
26599
26600        * platform/efl/ClipboardEfl.h: Added.
26601
266022010-04-05  Yuta Kitamura  <yutak@chromium.org>
26603
26604        Reviewed by Darin Adler.
26605
26606        Escape control characters in CSS string value when it is serialilzed.
26607
26608        When WebKit serializes a CSS string value that contains binary characters
26609        ('\0\1\2' for example), it did not escape these characters. As a result,
26610        users got (invisible) control characters through scripts. This change fixes
26611        this issue.
26612
26613        As a side effect, two separate codes for escaping CSS strings are merged, and
26614        become a public function (quoteCSSString).
26615
26616        CSS string value is not correctly serialized when it contains binary characters
26617        https://bugs.webkit.org/show_bug.cgi?id=28938
26618
26619        Test: fast/css/string-quote-binary.html
26620
26621        * css/CSSParser.cpp:
26622        (WebCore::isCSSTokenizerIdentifier):
26623        (WebCore::isCSSTokenizerURL):
26624        (WebCore::quoteCSSString):
26625        (WebCore::quoteCSSStringIfNeeded):
26626        (WebCore::quoteCSSURLIfNeeded):
26627        * css/CSSParser.h:
26628        * css/CSSPrimitiveValue.cpp:
26629        (WebCore::CSSPrimitiveValue::cssText):
26630        * css/FontFamilyValue.cpp:
26631        (WebCore::FontFamilyValue::cssText):
26632
266332010-04-05  John Gregg  <johnnyg@google.com>
26634
26635        Reviewed by Darin Adler.
26636
26637        Notifications should not resolve an empty icon parameter as a relative URL
26638        https://bugs.webkit.org/show_bug.cgi?id=36862
26639
26640        * notifications/Notification.cpp:
26641        (WebCore::Notification::Notification):
26642
266432010-04-05  Darin Adler  <darin@apple.com>
26644
26645        Reviewed by Mark Rowe.
26646
26647        Removed some unneeded type casts.
26648
26649        * css/CSSPrimitiveValue.cpp:
26650        (WebCore::CSSPrimitiveValue::cssText): Removed an unneeded cast.
26651        * page/Location.cpp:
26652        (WebCore::Location::host): Removed unneeded parentheses and cast.
26653        (WebCore::Location::port): Ditto.
26654        * platform/KURLGoogle.cpp:
26655        (WebCore::KURL::setPort): Ditto.
26656        * workers/WorkerLocation.cpp:
26657        (WebCore::WorkerLocation::host): Ditto.
26658        (WebCore::WorkerLocation::port): Ditto.
26659
266602010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
26661
26662        Unreviewed, rolling out r57081.
26663        http://trac.webkit.org/changeset/57081
26664        https://bugs.webkit.org/show_bug.cgi?id=37121
26665
26666        We think it triggered two tests to fail on Tiger because of
26667        race conditions (Requested by abarth on #webkit).
26668
26669        * dom/Node.cpp:
26670        (WebCore::Node::dispatchGenericEvent):
26671        * html/HTMLSelectElement.cpp:
26672        (WebCore::HTMLSelectElement::parseMappedAttribute):
26673
266742010-04-05  Brady Eidson  <beidson@apple.com>
26675
26676        Reviewed by Oliver Hunt.
26677
26678        ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups
26679        <rdar://problem/7828420> and https://bugs.webkit.org/show_bug.cgi?id=37120
26680
26681        No new tests. (No behavior change)
26682
26683        * storage/StorageNamespaceImpl.cpp:
26684        (WebCore::StorageNamespaceImpl::close): Change this invalid ASSERT to an early return.
26685
266862010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
26687
26688        Unreviewed, rolling out r57030.
26689        http://trac.webkit.org/changeset/57030
26690        https://bugs.webkit.org/show_bug.cgi?id=37114
26691
26692        Regressed fast/repaint/line-flow-with-floats-9 pixel tests in
26693        chromium port (Requested by jamesr on #webkit).
26694
26695        * rendering/RenderBlock.h:
26696        * rendering/RenderBlockLineLayout.cpp:
26697        (WebCore::RenderBlock::layoutInlineChildren):
26698
266992010-04-05  Alexey Proskuryakov  <ap@apple.com>
26700
26701        Reviewed by Darin Adler.
26702
26703        https://bugs.webkit.org/show_bug.cgi?id=37111
26704        <rdar://problem/7790327> Draw replacement text when plug-in host crashes
26705
26706        * page/mac/WebCoreViewFactory.h:
26707        * platform/LocalizedStrings.h:
26708        * platform/mac/LocalizedStringsMac.mm:
26709        * platform/gtk/LocalizedStringsGtk.cpp:
26710        * platform/qt/Localizations.cpp:
26711        * platform/wx/LocalizedStringsWx.cpp:
26712        Added a localizable string for plug-in failure (only used on Mac at the moment).
26713
26714        * WebCore.xcodeproj/project.pbxproj: Made RenderEmbeddedObject.h (and dependencies) private,
26715        since it's now used from WebKit.
26716
26717        * rendering/RenderEmbeddedObject.cpp:
26718        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):m Removed m_showsMissingPluginIndicator
26719        initializer.
26720        (WebCore::RenderEmbeddedObject::updateWidget): Check m_replacementText instead of the removed
26721        m_showsMissingPluginIndicator.
26722        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Load m_replacementText.
26723        (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator): Ditto.
26724        (WebCore::RenderEmbeddedObject::paint): Check m_replacementText instead of the removed
26725        m_showsMissingPluginIndicator.
26726        (WebCore::RenderEmbeddedObject::paintReplaced): Draw arbitrary text from m_replacementText
26727        insted of just "Missing Plug-in". Renamed constants and variables accordingly.
26728
26729        * rendering/RenderEmbeddedObject.h: Changed boolean for missing plug-in to a String holding
26730        actual replacement text.
26731
26732        * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Adapted for the change in
26733        setShowsMissingPluginIndicator(), which no longer takes an argument.
26734
26735        * WebCore/WebCore.base.exp: Exported RenderEmbeddedObject::setShowsCrashedPluginIndicator().
26736
267372010-04-05  Chris Fleizach  <cfleizach@apple.com>
26738
26739        Reviewed by Darin Adler.
26740
26741        Bug 37040 - AX: need to send selected children change notification when aria-selected changed
26742        https://bugs.webkit.org/show_bug.cgi?id=37040
26743
26744        When aria-selected is changed in the DOM, it will trigger a selected children change notification. 
26745
26746        Test: platform/mac/accessibility/aria-listbox-selectedchildren-change.html
26747
26748        * accessibility/AXObjectCache.cpp:
26749        (WebCore::AXObjectCache::selectedChildrenChanged):
26750        * accessibility/AXObjectCache.h:
26751        * accessibility/AccessibilityMediaControls.cpp:
26752        (WebCore::AccessibilityMediaControl::controlType):
26753            Remove extra whitespace before comment (webkit-style).
26754        * accessibility/AccessibilityRenderObject.cpp:
26755        (WebCore::AccessibilityRenderObject::observableObject):
26756            Allowed a listBox to be an observable object.
26757        (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
26758        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
26759            Updated and streamlined existing code.
26760        * dom/Element.cpp:
26761        (WebCore::Element::updateAfterAttributeChanged):
26762
267632010-04-05  Adam Treat  <atreat@rim.com>
26764
26765        Reviewed by Darin Adler.
26766
26767        Fix regression in pixel test for animated svg background images.
26768
26769        https://bugs.webkit.org/show_bug.cgi?id=37027
26770
26771        * svg/graphics/SVGImage.cpp:
26772        (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
26773
267742010-04-05  Robert Hogan  <robert@webkit.org>
26775
26776        Reviewed by Kenneth Rohde-Christiansen.
26777
26778        [Qt] Fix infinite redirection loop in QNetworkReplyHandler
26779
26780        Qt enters an infinite loop if a redirect response redirects to itself.
26781
26782        Fixes http/tests/xmlhttprequest/connection-error-sync.html
26783
26784        https://bugs.webkit.org/show_bug.cgi?id=37097
26785
26786        * platform/network/qt/QNetworkReplyHandler.cpp:
26787        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26788
267892010-04-05  Yury Semikhatsky  <yurys@chromium.org>
26790
26791        Unreviewed, revert r57078.
26792
26793        * Android.jscbindings.mk:
26794        * GNUmakefile.am:
26795        * WebCore.gypi:
26796        * WebCore.pro:
26797        * WebCore.vcproj/WebCore.vcproj:
26798        * WebCore.xcodeproj/project.pbxproj:
26799        * bindings/js/JSEventListener.cpp:
26800        (WebCore::JSEventListener::reportError):
26801        * bindings/js/JSEventListener.h:
26802        * bindings/js/JSWorkerContextErrorHandler.cpp: Removed.
26803        * bindings/js/JSWorkerContextErrorHandler.h: Removed.
26804        * bindings/scripts/CodeGeneratorJS.pm:
26805        * bindings/scripts/CodeGeneratorV8.pm:
26806        * bindings/v8/V8WorkerContextErrorHandler.cpp: Removed.
26807        * bindings/v8/V8WorkerContextErrorHandler.h: Removed.
26808        * bindings/v8/V8WorkerContextEventListener.cpp:
26809        (WebCore::V8WorkerContextEventListener::reportError):
26810        * bindings/v8/V8WorkerContextEventListener.h:
26811        * dom/EventListener.h:
26812        (WebCore::EventListener::reportError):
26813        * workers/WorkerContext.cpp:
26814        (WebCore::WorkerContext::WorkerContext):
26815        (WebCore::WorkerContext::reportException):
26816        * workers/WorkerContext.h:
26817
268182010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
26819
26820        Reviewed by Darin Adler.
26821
26822        Style update done due to mutation event dispatching in textarea can be
26823        used to corrupt the render tree.
26824        https://bugs.webkit.org/show_bug.cgi?id=36864
26825
26826        Tests: fast/forms/select-change-listbox-to-popup-roundtrip.html
26827               fast/forms/select-change-popup-to-listbox-roundtrip.html
26828               fast/forms/textarea-and-mutation-events.html
26829
26830        * dom/Node.cpp:
26831        (WebCore::Node::dispatchGenericEvent): Removed invocation of
26832            Document::updateStyleForAllDocuments
26833        * html/HTMLSelectElement.cpp:
26834        (WebCore::HTMLSelectElement::parseMappedAttribute): Added explicit
26835            recalc to ensure accuracy of representation, especially for
26836            menuList/listBox switches.
26837
268382010-04-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26839
26840        Reviewed by Dave Hyatt.
26841
26842        iframe flattening doesn't flatten
26843        https://bugs.webkit.org/show_bug.cgi?id=36798
26844
26845        Fixed to the iframe flattening code so that the iframes on
26846        http://www.samisite.com/test-csb2nf/id43.htm are actually
26847        flattened.
26848
26849        Covered by current tests.
26850
26851        * page/FrameView.cpp: Propagate contents changes of iframes
26852        and subframes in framesets to the parent so that it is relayouted
26853        (WebCore::FrameView::setContentsSize):
26854        (WebCore::FrameView::adjustViewSize):
26855        (WebCore::FrameView::scheduleRelayout):
26856        * rendering/RenderPart.cpp: HTMLIFrameElement do not inherit from
26857        HTMLFrameElement, but HTMLFrameElementBase, correct cast. Correct
26858        the use of inset border values. Avoid a sometimes unnecessary
26859        relayout.
26860        (WebCore::RenderPart::layoutWithFlattening):
26861        * rendering/RenderPartObject.cpp: Make the calcHeight and calcWidth
26862        return the right values, considering scrolling and fixed width/height
26863        (WebCore::RenderPartObject::flattenFrame):
26864        (WebCore::RenderPartObject::calcHeight):
26865        (WebCore::RenderPartObject::calcWidth):
26866        (WebCore::RenderPartObject::layout):
26867
268682010-04-05  Vitaly Repeshko  <vitalyr@chromium.org>
26869
26870        Reviewed by Yury Semikhatsky.
26871
26872        [V8] Extend the set of types supported by SerializedScriptValue
26873        https://bugs.webkit.org/show_bug.cgi?id=37052
26874
26875        New types include sparse arrays, Uint32, Date, and ImageData.
26876
26877        Serialization process became more flexible. A state can either
26878        directly write primitive values (instead of returning them like
26879        iterator) or construct a new state for serializing complex values
26880        that will return to the current state when done.
26881
26882        Deserialization process now avoids exposing the tags using a set
26883        of factory functions for complex objects instead.
26884
26885        Internal buffer type changed to uint8_t to be independent of
26886        whether char is signed or not.
26887
26888        * bindings/v8/SerializedScriptValue.cpp:
26889        (WebCore::):
26890        (WebCore::Writer::Writer):
26891        (WebCore::Writer::writeString):
26892        (WebCore::Writer::writeUint32):
26893        (WebCore::Writer::writeDate):
26894        (WebCore::Writer::writeNumber):
26895        (WebCore::Writer::writeImageData):
26896        (WebCore::Writer::writeArray):
26897        (WebCore::Writer::writeObject):
26898        (WebCore::Writer::writeSparseArray):
26899        (WebCore::Writer::doWriteUint32):
26900        (WebCore::Writer::doWriteNumber):
26901        (WebCore::Writer::append):
26902        (WebCore::Writer::fillHole):
26903        (WebCore::Writer::byteAt):
26904        (WebCore::Serializer::Serializer):
26905        (WebCore::Serializer::serialize):
26906        (WebCore::Serializer::writeArray):
26907        (WebCore::Serializer::writeObject):
26908        (WebCore::Serializer::writeSparseArray):
26909        (WebCore::Serializer::StateBase::StateBase):
26910        (WebCore::Serializer::ErrorState::ErrorState):
26911        (WebCore::Serializer::ErrorState::advance):
26912        (WebCore::Serializer::State::composite):
26913        (WebCore::Serializer::State::State):
26914        (WebCore::Serializer::ArrayState::ArrayState):
26915        (WebCore::Serializer::ArrayState::advance):
26916        (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
26917        (WebCore::Serializer::AbstractObjectState::advance):
26918        (WebCore::Serializer::ObjectState::ObjectState):
26919        (WebCore::Serializer::ObjectState::objectDone):
26920        (WebCore::Serializer::SparseArrayState::SparseArrayState):
26921        (WebCore::Serializer::SparseArrayState::objectDone):
26922        (WebCore::Serializer::push):
26923        (WebCore::Serializer::pop):
26924        (WebCore::Serializer::handleError):
26925        (WebCore::Serializer::checkComposite):
26926        (WebCore::Serializer::writeString):
26927        (WebCore::Serializer::writeImageData):
26928        (WebCore::Serializer::newArrayState):
26929        (WebCore::Serializer::newObjectState):
26930        (WebCore::Serializer::doSerialize):
26931        (WebCore::Reader::Reader):
26932        (WebCore::Reader::read):
26933        (WebCore::Reader::readString):
26934        (WebCore::Reader::readUint32):
26935        (WebCore::Reader::readDate):
26936        (WebCore::Reader::readNumber):
26937        (WebCore::Reader::readImageData):
26938        (WebCore::Reader::doReadUint32):
26939        (WebCore::Reader::doReadNumber):
26940        (WebCore::Deserializer::Deserializer):
26941        (WebCore::Deserializer::createArray):
26942        (WebCore::Deserializer::createObject):
26943        (WebCore::Deserializer::createSparseArray):
26944        (WebCore::Deserializer::initializeObject):
26945        (WebCore::Deserializer::doDeserialize):
26946        (WebCore::Deserializer::stackDepth):
26947        (WebCore::SerializedScriptValue::deserialize):
26948
269492010-04-05  Yury Semikhatsky  <yurys@chromium.org>
26950
26951        Reviewed by Pavel Feldman.
26952
26953        Refactored error reporting mechanizm on Worker Global Objects.
26954        Unlike other event listeners which accept single argument(Event)
26955        onerror handler on worker global object should be a function
26956        accepting three arguments. This error reporting was implementedas
26957        EventListener::reportError method which had custom implementations
26958        for v8 and JSC. This patch removes EventListener::reportError and
26959        moves its functionality into custom bindings(V8WorkerContextErrorHandler
26960        and JSWorkerContextErrorHandler) that implement EventListener inerface
26961        for the onerror handler.
26962
26963        This patch also makes uncaught exceptions that happen in the onerror
26964        listener be reported to the Worker's onerror handler.
26965
26966        https://bugs.webkit.org/show_bug.cgi?id=36375
26967
26968        * WebCore.gypi:
26969        * WebCore.pro:
26970        * WebCore.xcodeproj/project.pbxproj:
26971        * bindings/js/JSEventListener.cpp:
26972        * bindings/js/JSEventListener.h:
26973        * bindings/js/JSWorkerContextErrorHandler.cpp: Added.
26974        (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
26975        (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
26976        (WebCore::JSWorkerContextErrorHandler::handleEvent):
26977        * bindings/js/JSWorkerContextErrorHandler.h: Added.
26978        (WebCore::JSWorkerContextErrorHandler::create):
26979        (WebCore::createJSWorkerContextErrorHandler):
26980        * bindings/scripts/CodeGeneratorJS.pm:
26981        * bindings/scripts/CodeGeneratorV8.pm:
26982        * bindings/v8/V8WorkerContextErrorHandler.cpp: Added.
26983        (WebCore::V8WorkerContextErrorHandler::V8WorkerContextErrorHandler):
26984        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
26985        * bindings/v8/V8WorkerContextErrorHandler.h: Added.
26986        (WebCore::V8WorkerContextErrorHandler::create):
26987        * bindings/v8/V8WorkerContextEventListener.cpp:
26988        * bindings/v8/V8WorkerContextEventListener.h:
26989        * dom/EventListener.h: Removed reportError method that was used only for reporting worker errors.
26990        * workers/WorkerContext.cpp:
26991        (WebCore::WorkerContext::WorkerContext):
26992        (WebCore::WorkerContext::reportException):
26993        * workers/WorkerContext.h:
26994
269952010-04-05  Antonio Gomes  <tonikitoo@webkit.org>
26996
26997        Reviewed by Darin Adler.
26998
26999        Fix some  "explicit braces to avoid ambiguous 'else'" warnings
27000        https://bugs.webkit.org/show_bug.cgi?id=37088
27001
27002        * dom/Node.cpp:
27003        (WebCore::Node::dispatchGenericEvent):
27004        * page/DOMWindow.cpp:
27005        (WebCore::DOMWindow::dispatchEvent):
27006
270072010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27008
27009        Reviewed by Kenneth Rohde Christiansen.
27010
27011        Consolidate the definition of SKIP_STATIC_CONSTRUCTORS_ON_GCC
27012
27013        Instead of defining and undefining it later, let's not
27014        define SKIP_STATIC_CONSTRUCTORS_ON_GCC for WINSCW.
27015
27016        No new tests as there is no new functionality.
27017
27018        * config.h:
27019
270202010-04-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27021
27022        Reviewed by Kenneth Rohde Christiansen.
27023
27024        [Qt] [Symbian] Remove obsolete build flags for Symbian
27025        https://bugs.webkit.org/show_bug.cgi?id=37083
27026
27027        Symbian port of QtWebKit port does not use icu, so it does 
27028        not need U_HAVE_* defines.
27029
27030        Symbian now has inttypes.h as part of OpenC.
27031
27032        stdio.h, limits.h and MathExtras.h are already included in
27033        more appropriate locations.
27034
27035        No new tests as there is no new functionality.
27036
27037        * config.h:
27038
270392010-04-05  Pavel Feldman  <pfeldman@chromium.org>
27040
27041        Not reviewed: chromium build fix.
27042
27043        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27044        (WebCore::V8InspectorFrontendHost::platformCallback):
27045        (WebCore::V8InspectorFrontendHost::portCallback):
27046
270472010-04-05  Pavel Feldman  <pfeldman@chromium.org>
27048
27049        Reviewed by Yury Semikhatsky.
27050
27051        Web Inspector: [REGRESSION] platform detection in Chromium
27052        has regressed to unknown.
27053
27054        https://bugs.webkit.org/show_bug.cgi?id=37081
27055
27056        * bindings/js/JSInspectorFrontendHostCustom.cpp:
27057        (WebCore::JSInspectorFrontendHost::platform):
27058        (WebCore::JSInspectorFrontendHost::port):
27059        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27060        (WebCore::V8InspectorFrontendHost::platform):
27061        (WebCore::V8InspectorFrontendHost::port):
27062        * inspector/InspectorFrontendHost.cpp:
27063        * inspector/InspectorFrontendHost.h:
27064        * inspector/InspectorFrontendHost.idl:
27065
270662010-04-05  Andrey Kosyakov  <caseq@chromium.org>
27067
27068        Reviewed by Yury Semikhatsky.
27069
27070        Remove logging of successful XHR and worker's importScript()
27071        to inspector console
27072        https://bugs.webkit.org/show_bug.cgi?id=37078
27073
27074        * bindings/js/JSWorkerContextCustom.cpp:
27075        (WebCore::JSWorkerContext::importScripts):
27076        * bindings/v8/custom/V8WorkerContextCustom.cpp:
27077        (WebCore::V8WorkerContext::importScriptsCallback):
27078        * workers/DedicatedWorkerContext.cpp:
27079        (WebCore::DedicatedWorkerContext::importScripts):
27080        * workers/DedicatedWorkerContext.h:
27081        * workers/WorkerContext.cpp:
27082        (WebCore::WorkerContext::importScripts):
27083        * workers/WorkerContext.h:
27084        * xml/XMLHttpRequest.cpp:
27085        (WebCore::XMLHttpRequest::didFinishLoading):
27086
270872010-04-04  Pavel Feldman  <pfeldman@chromium.org>
27088
27089        Not reviewed. Rolling out chromium changes r57028 and r57032
27090        for breaking chromium layout tests.
27091
27092        * WebCore.gyp/WebCore.gyp:
27093        * WebCore.gypi:
27094        * platform/chromium/DragImageChromium.cpp: Added.
27095        (WebCore::dragImageSize):
27096        (WebCore::deleteDragImage):
27097        (WebCore::scaleDragImage):
27098        (WebCore::dissolveDragImageToFraction):
27099        (WebCore::createDragImageFromImage):
27100        (WebCore::createDragImageIconForCachedImage):
27101        * platform/chromium/DragImageChromiumMac.cpp: Removed.
27102        * platform/chromium/DragImageChromiumSkia.cpp: Removed.
27103        * platform/chromium/DragImageRef.h:
27104
271052010-03-29  Antonio Gomes  <tonikitoo@webkit.org>
27106
27107        Reviewed by Simon Fraser.
27108        Patch by Antonio Gomes <tonikitoo@webkit.org>
27109
27110        Spatial Navigation: Initial code simplification in FocusController.cpp and SpatialNavigation.cpp
27111
27112        WebCore::distanceInDirection method was handling much of the logic not
27113        strictly only related to the distance between nodes acquisition. This
27114        method was simplified and renamed to 'WebCore::distanceDataForNode'.
27115        The latter is now responsible for only getting the distance and alignment
27116        data, while all assignement logic previously in distanceInDirection method
27117        was moved place to updateFocusCandidateIfCloser.
27118
27119        Parent document distance and alignment acquisitions, in turn, have also
27120        changed location: they are both got from deepFindFocusableNodeInDirection,
27121        and passed in a recursive call to findFocusableNodeInDirection via the
27122        candidateParent variable (optional parameter). In addition, the need for
27123        the 'focusCandidateCopy' variable in deepFindFocusableNodeInDirection method
27124        was removed, making the code much cleaner.
27125
27126        No behaviour change at this point. Mostly moving code around to the place
27127        where it should live in.
27128
27129        * page/FocusController.cpp:
27130        (WebCore::FocusController::advanceFocusDirectionally):
27131        (WebCore::updateFocusCandidateIfCloser):
27132        (WebCore::FocusController::findFocusableNodeInDirection):
27133        (WebCore::FocusController::deepFindFocusableNodeInDirection):
27134        * page/FocusController.h:
27135        * page/SpatialNavigation.cpp:
27136        (WebCore::distanceDataForNode):
27137        (WebCore::renderRectRelativeToRootDocument):
27138        * page/SpatialNavigation.h:
27139
271402010-04-04  Pavel Feldman  <pfeldman@chromium.org>
27141
27142        Reviewed by Timothy Hatcher.
27143
27144        Web Inspector: In the inherited styles, do not render non-inherited properties as overriden.
27145
27146        https://bugs.webkit.org/show_bug.cgi?id=37072
27147
27148        * inspector/front-end/StylesSidebarPane.js:
27149        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
27150
271512010-04-03  yael aharon  <yael.aharon@nokia.com>
27152
27153        Reviewed by Darin Adler.
27154
27155        Enable HTMLProgressElement for Safari on OSX
27156        https://bugs.webkit.org/show_bug.cgi?id=36961
27157
27158        * Configurations/FeatureDefines.xcconfig:
27159        * WebCore.xcodeproj/project.pbxproj:
27160        * rendering/RenderThemeMac.h:
27161        * rendering/RenderThemeMac.mm:
27162        (WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
27163        (WebCore::RenderThemeMac::animationDurationForProgressBar):
27164        (WebCore::RenderThemeMac::adjustProgressBarStyle):
27165        (WebCore::RenderThemeMac::paintProgressBar):
27166
271672010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>
27168
27169        Unreviewed.
27170
27171        Fix debug build with GCC >= 4.3.
27172
27173        * platform/graphics/GraphicsLayer.cpp: Include stdio.h explicitly.
27174
271752010-04-03  Kenneth Russell  <kbr@google.com>
27176
27177        Reviewed by Darin Fisher.
27178
27179        Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
27180        https://bugs.webkit.org/show_bug.cgi?id=36574
27181
27182        Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
27183        points causing them to throw exceptions rather than synthesize GL
27184        errors. Fixed the implementations to synthesize INVALID_VALUE
27185        rather than INVALID_OPERATION to comply to the WebGL spec. Updated
27186        uniform-location-expected.txt to incorporate the correct error.
27187        Tested in Safari and Chromium.
27188
27189        Test: fast/canvas/webgl/null-uniform-location.html
27190
27191        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
27192        (WebCore::V8WebGLRenderingContext::getUniformCallback):
27193        (WebCore::vertexAttribAndUniformHelperf):
27194        (WebCore::uniformHelperi):
27195        (WebCore::uniformMatrixHelper):
27196        * html/canvas/WebGLRenderingContext.cpp:
27197        (WebCore::WebGLRenderingContext::uniform1f):
27198        (WebCore::WebGLRenderingContext::uniform1fv):
27199        (WebCore::WebGLRenderingContext::uniform1i):
27200        (WebCore::WebGLRenderingContext::uniform1iv):
27201        (WebCore::WebGLRenderingContext::uniform2f):
27202        (WebCore::WebGLRenderingContext::uniform2fv):
27203        (WebCore::WebGLRenderingContext::uniform2i):
27204        (WebCore::WebGLRenderingContext::uniform2iv):
27205        (WebCore::WebGLRenderingContext::uniform3f):
27206        (WebCore::WebGLRenderingContext::uniform3fv):
27207        (WebCore::WebGLRenderingContext::uniform3i):
27208        (WebCore::WebGLRenderingContext::uniform3iv):
27209        (WebCore::WebGLRenderingContext::uniform4f):
27210        (WebCore::WebGLRenderingContext::uniform4fv):
27211        (WebCore::WebGLRenderingContext::uniform4i):
27212        (WebCore::WebGLRenderingContext::uniform4iv):
27213        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
27214        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
27215        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
27216
272172010-04-02  Andy Estes  <aestes@apple.com>
27218
27219        Reviewed by Adam Barth.
27220
27221        The previous mechanism for testing whether an event was due to a user
27222        gesture only checked the event type, not the source of the event.  This
27223        allowed scripts to defeat popup blocking by programatically emitting
27224        certain types of events.
27225
27226        Change the user gesture detection to check for a flag that is only set
27227        when the event in question was generated through the platform and not
27228        through the DOM.
27229
27230        https://bugs.webkit.org/show_bug.cgi?id=37008
27231
27232        Tests: fast/events/popup-allowed-from-gesture-initiated-event.html
27233               fast/events/popup-blocked-from-fake-button-click.html
27234               fast/events/popup-blocked-from-fake-focus.html
27235
27236        * Android.mk: Add UserGestureIndicator.{cpp, h}.
27237        * GNUmakefile.am: Same.
27238        * WebCore.gypi: Same.
27239        * WebCore.pro: Same.
27240        * WebCore.vcproj/WebCore.vcproj: Same.
27241        * WebCore.xcodeproj/project.pbxproj: Same.
27242        * bindings/v8/ScriptController.cpp:
27243        (WebCore::ScriptController::processingUserGesture): Check the value of
27244        UserGesureIndicator::processingUserGesture().
27245        * dom/Document.cpp:
27246        (WebCore::Document::createEvent): Remove call to
27247        Event::setCreatedByDOM().
27248        * dom/Event.cpp:
27249        (WebCore::Event::Event): Remove initializers for m_createdByDOM.
27250        (WebCore::Event::fromUserGesture): Check the value of
27251        UserGestureIndicator::processingUserGesture().
27252        * dom/Event.h: Remove m_createdByDOM.
27253        * dom/UserGestureIndicator.cpp: Added.
27254        (WebCore::UserGestureIndicator::UserGestureIndicator): Save the previous
27255        value of s_processingUserGesture before setting it to true.
27256        (WebCore::UserGestureIndicator::~UserGestureIndicator): Restore
27257        s_processingUserGesture to its previous value.
27258        * dom/UserGestureIndicator.h: Added.
27259        (WebCore::UserGestureIndicator::processingUserGesture): Return the value
27260        of s_processingUserGesture.
27261        * page/EventHandler.cpp:
27262        (WebCore::EventHandler::handleMousePressEvent): Instantiate a
27263        UserGestureIndicator object on the stack to indicate a user gesture is
27264        being processed.
27265        (WebCore::EventHandler::handleMouseDoubleClickEvent): Same.
27266        (WebCore::EventHandler::handleMouseReleaseEvent): Same.
27267        (WebCore::EventHandler::keyEvent): Same.
27268        (WebCore::EventHandler::handleTouchEvent): Same.
27269
272702010-04-02  Justin Schuh  <jschuh@chromium.org>
27271
27272        Reviewed by Alexey Proskuryakov.
27273
27274        XHR allows arbitrary XSRF across domains 
27275        https://bugs.webkit.org/show_bug.cgi?id=36843
27276
27277        Added a one-line change to prevent bypassing the XDC check on
27278        synchronous preflighted requests. Added layout tests to cover
27279        variations of this problem.
27280
27281        Tests: http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html
27282               http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html
27283               http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html
27284               http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html
27285
27286        * loader/DocumentThreadableLoader.cpp:
27287        (WebCore::DocumentThreadableLoader::preflightFailure):
27288
272892010-04-02  Nayan Kumar K  <nayankk@gmail.com>
27290
27291        Reviewed by Eric Seidel.
27292
27293        Fix for WML enabled build failure.
27294
27295        https://bugs.webkit.org/show_bug.cgi?id=36648
27296
27297        * wml/WMLOptionElement.cpp:
27298        (WebCore::WMLOptionElement::disabled):
27299        * wml/WMLOptionElement.h:
27300        * wml/WMLSelectElement.cpp:
27301        (WebCore::WMLSelectElement::listBoxSelectItem):
27302        * wml/WMLSelectElement.h:
27303
273042010-04-02  MORITA Hajime  <morrita@google.com>
27305
27306        Reviewed by Alexey Proskuryakov.
27307
27308        https://bugs.webkit.org/show_bug.cgi?id=37011
27309        Position::primaryDirection() should not use its own accessor.
27310
27311        No new tests. This is small clenaup with no behaviour change.
27312
27313        * dom/Position.cpp:
27314        (WebCore::Position::primaryDirection):
27315
273162010-04-02  Eric Uhrhane  <ericu@chromium.org>
27317
27318        Reviewed by Brady Eidson.
27319
27320        window.openDatabase() always fails for new databases when using WebKit nightly with Safari 4.0.5.  This is caused by a SecurityOrigin pointer comparison that I should have switched to be a hash comparison in r56293 [bug 34991].
27321        https://bugs.webkit.org/show_bug.cgi?id=36671
27322
27323        No new tests.  Requires testing on Safari on Windows.
27324
27325        * storage/DatabaseTracker.cpp:
27326        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock): Convert a pointer comparison to use SecurityOriginHash::hash() instead, and move it to the end of the clause for speed in the easy-out case.
27327
273282010-04-02  Michael Nordman  <michaeln@google.com>
27329
27330        Reviewed by Nate Chapin.
27331
27332        Set the close policy used by the DatabaseCloseTask in a constructor argument
27333        instead of hard coding it.
27334        https://bugs.webkit.org/show_bug.cgi?id=37037
27335
27336        No new tests, new new functionality.
27337
27338        * storage/Database.cpp: This callsite passes in DoNotRemoveFromDatabaseContext to retain its current behavior.
27339        (WebCore::Database::markAsDeletedAndClose):
27340        * storage/DatabaseTask.cpp:
27341        (WebCore::DatabaseCloseTask::DatabaseCloseTask):
27342        (WebCore::DatabaseCloseTask::doPerformTask):
27343        * storage/DatabaseTask.h:
27344        (WebCore::DatabaseCloseTask::create):
27345
273462010-04-02  James Robinson  <jamesr@chromium.org>
27347
27348        Reviewed by Simon Fraser.
27349
27350        Remove an ASSERT that sometimes flakes due to time dependent animations
27351        https://bugs.webkit.org/show_bug.cgi?id=37048
27352
27353        The outline repaint rectangle for a layer might change between two calls
27354        if there are animations involved, even if nothing in the DOM has actually
27355        changed between the calls.
27356
27357        No change in behavior, no new tests.
27358
27359        * rendering/RenderLayer.cpp:
27360        (WebCore::RenderLayer::updateLayerPositions):
27361
273622010-04-02  Evan Stade  <estade@chromium.org>
27363
27364        Reviewed by Adam Barth.
27365
27366        [chromium] need DragImage implementation
27367        https://bugs.webkit.org/show_bug.cgi?id=35811
27368
27369        Add two files that failed to get added in my previous patch.
27370
27371        * platform/chromium/DragImageChromiumMac.cpp: Added.
27372        (WebCore::dragImageSize):
27373        (WebCore::deleteDragImage):
27374        (WebCore::scaleDragImage):
27375        (WebCore::dissolveDragImageToFraction):
27376        (WebCore::createDragImageFromImage):
27377        (WebCore::createDragImageIconForCachedImage):
27378        * platform/chromium/DragImageChromiumSkia.cpp: Added.
27379        (WebCore::dragImageSize):
27380        (WebCore::deleteDragImage):
27381        (WebCore::scaleDragImage):
27382        (WebCore::dissolveDragImageToFraction):
27383        (WebCore::createDragImageFromImage):
27384        (WebCore::createDragImageIconForCachedImage):
27385
273862010-04-02  Jer Noble  <jer.noble@apple.com>
27387
27388        Reviewed by Eric Carlson.
27389
27390        Configure multi-language movies: when QuickTime has sufficiently loaded
27391        the movie, call into wkQTMovieSelectPreferredAlternates to select the
27392        movie's alternate tracks according to the user's language preferences.
27393
27394        https://bugs.webkit.org/show_bug.cgi?id=36624
27395
27396        * WebCore.base.exp:
27397        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
27398        (WebCore::MediaPlayerPrivate::updateStates): If the movie is sufficiently loaded,
27399        call wkQTMovieSelectPreferredAlternates to set up the alternate tracks.
27400        * platform/mac/WebCoreSystemInterface.h: Declare WKQTMovieSelectPreferredAlternates.
27401        * platform/mac/WebCoreSystemInterface.mm: Add WKQTMovieSelectPreferredAlternates.
27402
274032010-04-02  James Robinson  <jamesr@chromium.org>
27404
27405        Reviewed by Darin Adler.
27406
27407        Splits RenderBlock::layoutInline into smaller functions
27408        https://bugs.webkit.org/show_bug.cgi?id=36921
27409
27410        RenderBlock::layoutInlineChildren is 351 lines long and very difficult
27411        to comprehend or edit safely. This patch splits it up into a few
27412        slightly smaller functions.  Most of the code is now in the 241 line
27413        layoutRunsAndFloats() which is a slight improvement.
27414
27415        Perf neutral on the page cyclers.  This doesn't introduce any function
27416        calls into the hottest layout paths inside layoutRunsAndFloats and
27417        findNextLineBreak.
27418
27419        No change in behavior, no new tests.
27420
27421        * rendering/RenderBlock.h:
27422        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
27423        * rendering/RenderBlockLineLayout.cpp:
27424        (WebCore::RenderBlock::layoutReplacedElements):
27425        (WebCore::RenderBlock::createLineBoxesForResolver):
27426        (WebCore::RenderBlock::layoutRunsAndFloats):
27427        (WebCore::RenderBlock::layoutInlineChildren):
27428
274292010-04-02  Evan Stade  <estade@chromium.org>
27430
27431        Reviewed by Eric Seidel.
27432
27433        [chromium] need DragImage implementation
27434        https://bugs.webkit.org/show_bug.cgi?id=35811
27435
27436        Basic implementation using SkBitmap. Transformations are not supported
27437        yet. No implementation for mac.
27438
27439        * WebCore.gyp/WebCore.gyp:
27440        * WebCore.gypi:
27441        * platform/chromium/DragImageChromium.cpp:
27442        * platform/chromium/DragImageRef.h:
27443
274442010-04-02  Evan Martin  <evan@chromium.org>
27445
27446        Reviewed by Eric Seidel.
27447
27448        [chromium] font fallback for generic fonts picks wrong font
27449        https://bugs.webkit.org/show_bug.cgi?id=37033
27450
27451        When a page specifies the generic "monospace" font and the user's
27452        browser-configured monospace font doesn't exist, we previously relied
27453        on getLastResortFallbackFont to eventually pick a monospace font for us.
27454
27455        But that doesn't quite work: WebKit first falls back to the user's
27456        "preferred standard font" before hitting the last resort code path.
27457        So if the above conditions hold but this font exists, we'll end up
27458        never hitting the last resort codepath.
27459
27460        The fix is to allow OS-level font fallback when first attempting to
27461        resolve monospace.  The existing code tried to do this, but the logic
27462        was wrong.  We would eventually fall back to the correct font anyway
27463        so we didn't notice the logic was wrong.
27464
27465        This code is all handling cases where particular fonts aren't installed,
27466        so I can't think of a way to test it; existing tests should still pass.
27467
27468        * platform/graphics/chromium/FontCacheLinux.cpp:
27469        (WebCore::FontCache::createFontPlatformData):
27470
274712010-04-02  Andrew Scherkus  <scherkus@chromium.org>
27472
27473        Reviewed by Eric Carlson and Eric Seidel.
27474
27475        Don't stop the playback event timer when media resource loading has suspended.
27476        https://bugs.webkit.org/show_bug.cgi?id=37003
27477
27478        When a user agent decides to suspend media resource loading and enters the
27479        NETWORK_IDLE state we are supposed to only stop the progress event timer but
27480        keep the playback timer running.
27481
27482        Test: http/tests/media/video-play-suspend.html
27483
27484        * html/HTMLMediaElement.cpp:
27485        (WebCore::HTMLMediaElement::setNetworkState): Only stop the progress event timer.
27486
274872010-04-02  Darin Adler  <darin@apple.com>
27488
27489        Fix mispelling that broke the build.
27490
27491        * html/canvas/CanvasRenderingContext2D.cpp:
27492        * html/canvas/CanvasRenderingContext2D.h:
27493        Dashbard -> Dashboard.
27494
274952010-04-02  David Levin  <levin@chromium.org>
27496
27497        Reviewed by Darin Adler.
27498
27499        (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
27500        https://bugs.webkit.org/show_bug.cgi?id=36906
27501
27502        * dom/CanvasSurface.cpp: Added methods for items that depended on
27503        CanvasRenderingContext::canvas() being an HTMLElement(), so that this usage
27504        can be dealt with in one place.
27505        (WebCore::CanvasSurface::securityOrigin): Only used by methods that are
27506        only run in the document context.
27507        (WebCore::CanvasSurface::renderBox): Will likely return 0 in a worker context.
27508        (WebCore::CanvasSurface::computedStyle): Used by setFont. Return value is TBD for
27509        the worker context.
27510        (WebCore::CanvasSurface::styleSelector): Ditto.
27511        * dom/CanvasSurface.h:
27512        * html/HTMLCanvasElement.cpp:
27513        (WebCore::HTMLCanvasElement::getContext): Passing in information into
27514        the CanvasRenderingContext2D constructor to eliminate some uses of document
27515        inside of the CanvasRenderingContext2D class.
27516        * html/HTMLCanvasElement.h:
27517        (WebCore::HTMLCanvasElement::renderBox): Added to disambiguate between the
27518        two parent class versions of the method.
27519        (WebCore::HTMLCanvasElement::computedStyle): Ditto.
27520        * html/canvas/CanvasRenderingContext2D.cpp: All of these changes are about
27521        removing document usage either by using a bool that is set in the constructor or
27522        by calling one of the new methods added to CanvasSurface.
27523        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
27524        (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
27525        (WebCore::CanvasRenderingContext2D::checkOrigin):
27526        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
27527        (WebCore::CanvasRenderingContext2D::createPattern):
27528        (WebCore::CanvasRenderingContext2D::setFont):
27529        (WebCore::CanvasRenderingContext2D::drawTextInternal):
27530        * html/canvas/CanvasRenderingContext2D.h:
27531        * html/canvas/WebGLRenderingContext.cpp: Removed some duplicate includes.
27532        (WebCore::WebGLRenderingContext::markContextChanged): Reduced calls to renderBox
27533         as it may become slightly more expensive in the future.
27534        (WebCore::WebGLRenderingContext::reshape): Ditto.
27535
275362010-04-02  Zhenyao Mo  <zmo@google.com>
27537
27538        Reviewed by Eric Seidel.
27539
27540        Implement and test new framebuffer object attachment behavior.
27541        https://bugs.webkit.org/show_bug.cgi?id=35611
27542
27543        Test: fast/canvas/webgl/framebuffer-object-attachment.html
27544
27545        * html/canvas/WebGLFramebuffer.cpp: Keep track of attached stencil/depth renderbuffers in WebGLFramebuffer.
27546        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
27547        (WebCore::WebGLFramebuffer::setIsAttached):
27548        * html/canvas/WebGLFramebuffer.h: Ditto.
27549        (WebCore::WebGLFramebuffer::isDepthAttached):
27550        (WebCore::WebGLFramebuffer::isStencilAttached):
27551        (WebCore::WebGLFramebuffer::isDepthStencilAttached):
27552        * html/canvas/WebGLRenderbuffer.cpp: Keep track of internalformat.
27553        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
27554        * html/canvas/WebGLRenderbuffer.h: Ditto.
27555        (WebCore::WebGLRenderbuffer::setInternalformat):
27556        (WebCore::WebGLRenderbuffer::getInternalformat):
27557        * html/canvas/WebGLRenderingContext.cpp:
27558        (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Detect stencil/depth buffer conflicts.
27559        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Handling DEPTH_STENCIL case.
27560        (WebCore::WebGLRenderingContext::getRenderbufferParameter): Get correct WebGL internalformat.
27561        (WebCore::WebGLRenderingContext::renderbufferStorage): Detect illegal enums.
27562        * html/canvas/WebGLRenderingContext.idl: Add DEPTH_STENCIL enums.
27563        * platform/graphics/GraphicsContext3D.h: Add DEPTH_STENCIL enums.
27564        (WebCore::GraphicsContext3D::):
27565        * platform/graphics/mac/GraphicsContext3DMac.cpp: Map to correct DEPTH_STENCIL format.
27566        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
27567        (WebCore::GraphicsContext3D::renderbufferStorage):
27568        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
27569
275702010-04-02  Kent Tamura  <tkent@chromium.org>
27571
27572        Reviewed by Darin Adler.
27573
27574        Form control state shouldn't be restored for hidden inputs.
27575        https://bugs.webkit.org/show_bug.cgi?id=26241
27576
27577        To fix this issue, we don't save values if it is not changed from
27578        the default value.
27579
27580        Updating the value IDL attribute of some controls such as
27581        type=hidden also updates the value content attribute, and it's
27582        impossible to distinguish the initial value and the current
27583        value. The values of such controls are not saved. It won't be a
27584        problem because we want to save and restore user-edited values.
27585
27586        Test: fast/forms/state-restore-to-non-edited-controls.html
27587
27588        * html/HTMLInputElement.cpp:
27589        (WebCore::HTMLInputElement::saveFormControlState):
27590          Do not save the value if it is same as the default value.
27591        * html/HTMLTextAreaElement.cpp:
27592        (WebCore::HTMLTextAreaElement::saveFormControlState): ditto.
27593
275942010-04-02  Kent Tamura  <tkent@chromium.org>
27595
27596        Reviewed by Darin Adler.
27597
27598        Forms with autocomplete=off should not consume saved state
27599        https://bugs.webkit.org/show_bug.cgi?id=36762
27600        
27601        Introduce Element::shouldSaveAndRestoreFormControlState() to check
27602        if we should save and restore control state.
27603
27604        Test: fast/forms/state-restore-to-non-autocomplete-form.html
27605
27606        * dom/Document.cpp:
27607        (WebCore::Document::formElementsState): Check shouldSaveAndRestoreFormControlState().
27608        * dom/Element.h:
27609        (WebCore::Element::shouldSaveAndRestoreFormControlState): Added. It just returns true.
27610        * html/HTMLFormControlElement.cpp:
27611        (WebCore::HTMLFormControlElementWithState::autoComplete):
27612          Added. It return autocomplete state of the form.
27613        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
27614          Added. It returns the result of autoComplete().
27615        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
27616          Do not restore state if shouldSaveAndRestoreFormControlState() is false.
27617        * html/HTMLFormControlElement.h: Declare autoComplete() and overriding methods.
27618        * html/HTMLInputElement.cpp:
27619        (WebCore::HTMLInputElement::autoComplete):
27620          Reduce code by using autoComplete() of the parent class.
27621        (WebCore::HTMLInputElement::saveFormControlState):
27622          Remove the autoComplete() check. Document::formElementsState() does equivalent check.
27623
276242010-04-02  Simon Fraser  <simon.fraser@apple.com>
27625
27626        Reviewed by Darin Adler.
27627
27628        Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/
27629        https://bugs.webkit.org/show_bug.cgi?id=36978
27630
27631        When we update compositing layers (which can happen on scrolling, when there are fixed position elements
27632        on the page), we can end up redundantly setting images as layer contents if we have to color-correct
27633        the image. This is because we call CGImageCreateCopyWithColorSpace(), which hands back a new image
27634        every time.
27635        
27636        Avoid this by storing a reference to the original uncorrected image, which is used to then
27637        avoid work if the image does not change.
27638
27639        * platform/graphics/mac/GraphicsLayerCA.h:
27640        * platform/graphics/mac/GraphicsLayerCA.mm:
27641        (WebCore::GraphicsLayerCA::setContentsToImage):
27642
276432010-04-02  Simon Fraser  <simon.fraser@apple.com>
27644
27645        Reviewed by Darin Adler.
27646
27647        Avoid doing work in FrameView::scrollPositionChanged() if there are no fixed position elements
27648        https://bugs.webkit.org/show_bug.cgi?id=36994
27649        
27650        r55890 added knowledge to FrameView about whether it contains any fixed-position elements. We can
27651        use this to avoid updating widget positions, and compositing layer positions when possible.
27652
27653        * page/FrameView.cpp:
27654        (WebCore::FrameView::scrollPositionChanged):
27655        * page/FrameView.h:
27656        (WebCore::FrameView::hasFixedObjects):
27657
276582010-04-02  Nate Chapin  <japhet@chromium.org>
27659
27660        Rubber-stamped by Dimitri Glazkov.
27661
27662        http://trac.webkit.org/changeset/57004 caused
27663        fast/dom/console-log-stack-overflow.html to fail for Chromium.
27664        Add check for empty wrappers before using them to create a hidden reference.
27665
27666        * bindings/scripts/CodeGeneratorV8.pm:
27667
276682010-04-01  Nate Chapin  <japhet@chromium.org>
27669
27670        Reviewed by Dimitri Glazkov.
27671
27672        [V8] Generalize (and generate!) the creation of hidden references
27673        between JS wrappers.
27674        
27675        https://bugs.webkit.org/show_bug.cgi?id=36777
27676
27677        * Android.v8bindings.mk:
27678        * WebCore.gypi:
27679        * bindings/scripts/CodeGeneratorV8.pm: Generate calls to setHiddenReference() in
27680        attribute getters.
27681        * bindings/v8/V8DOMWrapper.cpp:
27682        (WebCore::V8DOMWrapper::setHiddenReference): Split common logic out of hidden setHiddenWindowReference
27683        (WebCore::V8DOMWrapper::setHiddenWindowReference): Now contains logic specific to putting a 
27684        hidden reference on a global object.
27685        (WebCore::globalObjectPrototypeIsDOMWindow): Be more thorough in the COMPILE_ASSERTs.
27686        (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Cleanup: Remove a duplicate if statement.
27687        * bindings/v8/V8DOMWrapper.h:
27688        * bindings/v8/WrapperTypeInfo.h:
27689        * bindings/v8/custom/V8BarInfoCustom.cpp: Removed.
27690        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
27691        (WebCore::toV8):
27692        * bindings/v8/custom/V8DOMSelectionCustom.cpp: Removed.
27693        * bindings/v8/custom/V8HistoryCustom.cpp:
27694        * bindings/v8/custom/V8LocationCustom.cpp:
27695        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
27696        (WebCore::V8MessageChannel::constructorCallback):
27697        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
27698        (WebCore::toV8):
27699        * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
27700        * bindings/v8/custom/V8ScreenCustom.cpp: Removed.
27701        * bindings/v8/custom/V8StyleSheetCustom.cpp:
27702        (WebCore::toV8):
27703        * loader/appcache/DOMApplicationCache.h:
27704        (WebCore::DOMApplicationCache::frame): Add frame() accessor.
27705
27706
277072010-04-01  Pavel Feldman  <pfeldman@chromium.org>
27708
27709        Reviewed by Timothy Hatcher.
27710
27711        Web Inspector: start editing DOM and styles on click-and-pause.
27712
27713        https://bugs.webkit.org/show_bug.cgi?id=36965
27714
27715        * inspector/front-end/ElementsTreeOutline.js:
27716        (WebInspector.ElementsTreeElement.prototype.onattach):
27717        (WebInspector.ElementsTreeElement.prototype.selectOnMouseDown):
27718        (WebInspector.ElementsTreeElement.prototype.ondblclick):
27719        (WebInspector.ElementsTreeElement.prototype._handleClickAndPause):
27720        (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
27721        (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
27722        (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
27723        (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
27724        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
27725        * inspector/front-end/StylesSidebarPane.js:
27726        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
27727        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
27728        (WebInspector.StylePropertiesSection.prototype._handleSelectorClickAndPause):
27729        (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
27730        (WebInspector.StylePropertiesSection.prototype._startEditingOnMouseEvent):
27731        (WebInspector.StylePropertyTreeElement.prototype.onattach):
27732        (WebInspector.StylePropertyTreeElement.prototype):
27733        * inspector/front-end/inspector.css:
27734        * inspector/front-end/inspector.js:
27735        * inspector/front-end/treeoutline.js:
27736        (TreeElement.prototype._attach):
27737        (TreeElement.treeElementMouseDown):
27738        (TreeElement.prototype.selectOnMouseDown):
27739
277402010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27741
27742        Unreviewed build fix when building --no-svg.
27743
27744        Build fix after r56941. Add ENABLE(SVG) guard.
27745
27746        * rendering/RenderLayer.cpp:
27747        (WebCore::RenderLayer::updateLayerPositions):
27748
277492010-04-02  Yury Semikhatsky  <yurys@chromium.org>
27750
27751        Reviewed by Pavel Feldman.
27752
27753        Implement InspectorFrontendHost::showContextMenu for Chromium.
27754 
27755        Move inspector frontend context menu code from InspectorFrontendClient to InspectorFrontendHost as it's platform independent.
27756 
27757        https://bugs.webkit.org/show_bug.cgi?id=36817
27758
27759        * WebCore.Inspector.exp:
27760        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
27761        (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
27762        * inspector/InspectorFrontendClient.h:
27763        * inspector/InspectorFrontendClientLocal.cpp:
27764        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
27765        (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
27766        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
27767        * inspector/InspectorFrontendClientLocal.h:
27768        * inspector/InspectorFrontendHost.cpp:
27769        (WebCore::FrontendMenuProvider::create):
27770        (WebCore::FrontendMenuProvider::disconnect):
27771        (WebCore::FrontendMenuProvider::FrontendMenuProvider):
27772        (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
27773        (WebCore::FrontendMenuProvider::populateContextMenu):
27774        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
27775        (WebCore::FrontendMenuProvider::contextMenuCleared):
27776        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
27777        (WebCore::InspectorFrontendHost::disconnectClient):
27778        (WebCore::InspectorFrontendHost::showContextMenu):
27779        * inspector/InspectorFrontendHost.h:
27780        (WebCore::InspectorFrontendHost::create):
27781
277822010-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
27783
27784        Reviewed by Pavel Feldman.
27785
27786        WebInspector: Timeline Overview pane should support short records filtering.
27787        https://bugs.webkit.org/show_bug.cgi?id=37020
27788
27789        * English.lproj/localizedStrings.js:
27790        * inspector/front-end/TimelineOverviewPane.js:
27791        (WebInspector.TimelineOverviewPane.prototype.update.markTimeline):
27792        (WebInspector.TimelineOverviewPane.prototype.update):
27793        * inspector/front-end/TimelinePanel.js:
27794        (WebInspector.TimelinePanel):
27795        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
27796        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
27797        (WebInspector.TimelinePanel.prototype._refresh):
27798        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
27799        (WebInspector.TimelinePanel.FormattedRecord.prototype.isLong):
27800
278012010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27802
27803        Reviewed by Eric Seidel.
27804
27805        Accept XHTML-MP content type as XHTML content
27806        https://bugs.webkit.org/show_bug.cgi?id=34262
27807
27808        Enable processing XHTML-MP mime type as an XHTML document
27809        even if XHTML-MP support is not enabled.
27810
27811        * platform/MIMETypeRegistry.cpp:
27812        (WebCore::initializeSupportedNonImageMimeTypes):
27813
278142010-04-02  Adam Barth  <abarth@webkit.org>
27815
27816        Reviewed by Daniel Bates.
27817
27818        Make XSSAuditor go fast with large POST data
27819        https://bugs.webkit.org/show_bug.cgi?id=36694
27820
27821        There were two things slowing down this bechmark:
27822
27823        1) Searching the large POST data for each inline event handler.  To
27824           make this faster, we now use a suffix tree to fast-reject strings
27825           that don't appear as substrings of the POST data.
27826
27827        2) The next largest cost was flattening the form data into a string.
27828           To make this fater, we now use the form data object itself as a key
27829           and only flatten once.
27830
27831        * GNUmakefile.am:
27832        * WebCore.gypi:
27833        * WebCore.vcproj/WebCore.vcproj:
27834        * WebCore.xcodeproj/project.pbxproj:
27835        * page/XSSAuditor.cpp:
27836        (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL):
27837        (WebCore::XSSAuditor::CachingURLCanonicalizer::clear):
27838        (WebCore::XSSAuditor::XSSAuditor):
27839        (WebCore::XSSAuditor::findInRequest):
27840        * page/XSSAuditor.h:
27841        (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
27842        (WebCore::XSSAuditor::CachingURLCanonicalizer::generation):
27843        * platform/text/SuffixTree.h: Added.
27844        (WebCore::UnicodeCodebook::codeWord):
27845        (WebCore::UnicodeCodebook::):
27846        (WebCore::ASCIICodebook::codeWord):
27847        (WebCore::ASCIICodebook::):
27848        (WebCore::SuffixTree::SuffixTree):
27849        (WebCore::SuffixTree::mightContain):
27850        (WebCore::SuffixTree::Node::Node):
27851        (WebCore::SuffixTree::Node::~Node):
27852        (WebCore::SuffixTree::Node::at):
27853        (WebCore::SuffixTree::build):
27854
278552010-04-02  Roland Steiner  <rolandsteiner@chromium.org>
27856
27857        Reviewed by Eric Seidel.
27858
27859        Bug 36741 -  Duplicate, slightly divergent implementation of Position[Iterator]::isCandidate()
27860        https://bugs.webkit.org/show_bug.cgi?id=36741
27861        
27862        Patch: change Position::isCandididate() to call the PositionIterator::isCandidate() version.
27863        Update PositionIterator::isCandidate() to mirror Position::isCandidate().
27864
27865        Rationale: PositionIterator::isCandidate() is called in a tight loop within
27866        next/previousCandidate(). Also, creation of a PositionIterator from a Position
27867        is cheaper than vice-versa.
27868
27869        Tests: ran all tests in 'editing'.
27870
27871        * dom/Position.cpp:
27872        (WebCore::Position::isCandidate):
27873        * dom/PositionIterator.cpp:
27874        (WebCore::PositionIterator::isCandidate):
27875
278762010-04-02  Steve Falkenburg  <sfalken@apple.com>
27877
27878        Reviewed by Dan Bernstein.
27879
27880        Database code falsely returns errors due to errant pointer check
27881        https://bugs.webkit.org/show_bug.cgi?id=37014
27882
27883        r56943 introduced a check to see if there were any unprocessed
27884        SQL commands after calling sqlite3_prepare16_v2.
27885
27886        Accessing the remaining data via pointer wasn't possible since
27887        the query string is deallocated immediately after the
27888        query runs. The String returned from strippedWhiteSpace
27889        goes out of scope at that point.
27890
27891        Fix is to store the strippedWhiteSpace in a temporary String
27892        so we can access it via character ptr later in the function.
27893
27894        * platform/sql/SQLiteStatement.cpp:
27895        (WebCore::SQLiteStatement::prepare):
27896
278972010-04-01  MORITA Hajime  <morrita@google.com>
27898
27899        Reviewed by Darin Adler.
27900
27901        setting document.title doesn't change document.title value 
27902        https://bugs.webkit.org/show_bug.cgi?id=36802
27903
27904        An entity of "value" argument on HTMLTitleElement::setTitle() could be
27905        Document::m_title and be changed during HTMLTitleElement::setText(). 
27906        Fix copying the argument to keep the original value.
27907        
27908        Test: fast/dom/Document/title-with-multiple-children.html
27909
27910        * html/HTMLTitleElement.cpp:
27911        (WebCore::HTMLTitleElement::setText):
27912
279132010-04-01  Luiz Agostini  <luiz.agostini@openbossa.org>
27914
27915        Reviewed by Kenneth Rohde Christiansen.
27916
27917        [Qt] Maemo5 theme - <select multiple> custom rendering
27918        https://bugs.webkit.org/show_bug.cgi?id=36369
27919
27920        Customizing rendering of <select multiple> elements in Maemo5.
27921
27922        * platform/qt/Maemo5Webstyle.cpp:
27923        (Maemo5WebStyle::drawMultipleComboButton):
27924        (Maemo5WebStyle::drawSimpleComboButton):
27925        (Maemo5WebStyle::getButtonImageSize):
27926        (Maemo5WebStyle::findComboButton):
27927        (Maemo5WebStyle::drawComplexControl):
27928        * platform/qt/Maemo5Webstyle.h:
27929
279302010-04-01  Kinuko Yasuda  <kinuko@chromium.org>
27931
27932        Reviewed by Dmitry Titov.
27933
27934        Add FileThread for async file operation support in FileReader and FileWriter
27935        https://bugs.webkit.org/show_bug.cgi?id=36896
27936
27937        Add FileThread for async file operation support for FileReader and
27938        FileWriter.  The patch also adds ENABLE_FILE_READER or
27939        ENABLE_FILE_WRITER build flags/defines.  Both flags are disabled
27940        by default.
27941
27942        No new tests, will add ones when after adding modules which use the thread.
27943
27944        * Configurations/FeatureDefines.xcconfig:
27945        * GNUmakefile.am:
27946        * WebCore.gypi:
27947        * WebCore.pro:
27948        * WebCore.vcproj/WebCore.vcproj:
27949        * WebCore.xcodeproj/project.pbxproj:
27950        * dom/ScriptExecutionContext.cpp:
27951        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
27952        (WebCore::ScriptExecutionContext::fileThread):
27953        * dom/ScriptExecutionContext.h:
27954        * html/FileThread.cpp: Added.
27955        (WebCore::FileThread::FileThread):
27956        (WebCore::FileThread::~FileThread):
27957        (WebCore::FileThread::start):
27958        (WebCore::FileThread::stop):
27959        (WebCore::FileThread::postTask):
27960        (WebCore::SameFilePredicate::SameFilePredicate):
27961        (WebCore::SameFilePredicate::operator()):
27962        (WebCore::FileThread::removeTask):
27963        (WebCore::FileThread::fileThreadStart):
27964        (WebCore::FileThread::runLoop):
27965        * html/FileThread.h: Added.
27966        (WebCore::FileThread::create):
27967        (WebCore::FileThread::Task::Task):
27968        (WebCore::FileThread::Task::~Task):
27969        (WebCore::FileThread::Task::fileHandle):
27970        * platform/Logging.cpp:
27971        (WebCore::):
27972        (WebCore::getChannelFromName):
27973        * platform/Logging.h:
27974
279752010-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
27976
27977        Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
27978        https://bugs.webkit.org/show_bug.cgi?id=36977
27979
27980        * accessibility/AccessibilityImageMapLink.cpp:
27981        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
27982
279832010-04-01  MORITA Hajime  <morrita@google.com>
27984
27985        Reviewed by Darin Adler.
27986
27987        WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
27988        https://bugs.webkit.org/show_bug.cgi?id=31680
27989        Ownerless nodes leads a crash on DOMSelection APIs
27990        https://bugs.webkit.org/show_bug.cgi?id=36800
27991
27992        Added guards nodes from foreign documents to DOMSelection APIs.
27993
27994        Tests: editing/selection/DOMSelection-DocumentType.html
27995               editing/selection/DOMSelection-crossing-document.html
27996
27997        * editing/VisiblePosition.cpp:
27998        (WebCore::VisiblePosition::canonicalPosition):
27999        * page/DOMSelection.cpp:
28000        (WebCore::DOMSelection::collapse):
28001        (WebCore::DOMSelection::setBaseAndExtent):
28002        (WebCore::DOMSelection::setPosition):
28003        (WebCore::DOMSelection::extend):
28004        (WebCore::DOMSelection::containsNode):
28005        (WebCore::DOMSelection::isValidForPosition):
28006        * page/DOMSelection.h:
28007
280082010-04-01  Chris Evans  <cevans@chromium.org>
28009
28010        Reviewed by Adam Barth.
28011
28012        Fix a NULL pointer crash if @import fails to load a stylesheet.
28013
28014        https://bugs.webkit.org/show_bug.cgi?id=36804
28015
28016        Test: fast/xsl/xslt-bad-import-uri.html
28017
28018        * xml/XSLStyleSheetLibxslt.cpp:
28019        (WebCore::XSLStyleSheet::parseString):
28020          Handle an empty string gracefully. An empty string has a NULL
28021          buffer, which we pass in to xmlCreateMemoryParserCtxt(). It returns
28022          NULL if it is passed a NULL buffer.
28023          In the top-level XSL case, the current code does not crash "by luck"
28024          because the other APIs used can handle a NULL argument. In the
28025          @import case, additional code runs which will deference the NULL.
28026
280272010-04-01  Alexey Proskuryakov  <ap@apple.com>
28028
28029        Reviewed by Darin Adler.
28030
28031        https://bugs.webkit.org/show_bug.cgi?id=36854
28032        <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
28033        is prepended to the actual response body
28034
28035        Tests: http/tests/xmlhttprequest/access-control-response-with-body-sync.html
28036               http/tests/xmlhttprequest/access-control-response-with-body.html
28037
28038        * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::didReceiveData):
28039        Don't send data to the client when handling a preflight request.
28040
280412010-04-01  Ada Chan  <adachan@apple.com>
28042
28043        Reviewed by Darin Adler.
28044        
28045        Change DatabaseTracker::deleteOrigin() to return true if there are no errors in deleting the origin.
28046        Ditto for DatabaseTracker::deleteDatabase().
28047        
28048        https://bugs.webkit.org/show_bug.cgi?id=36988
28049
28050        * storage/DatabaseTracker.cpp:
28051        (WebCore::DatabaseTracker::deleteOrigin):
28052        (WebCore::DatabaseTracker::deleteDatabase):
28053        * storage/DatabaseTracker.h:
28054
280552010-04-01  Simon Fraser  <simon.fraser@apple.com>
28056
28057        No review.
28058
28059        Remove some casts that I indended to remove before committing r56948.
28060
28061        * rendering/RenderTreeAsText.cpp:
28062        (WebCore::writeRenderObject):
28063        (WebCore::write):
28064
280652010-04-01  Simon Fraser  <simon.fraser@apple.com>
28066
28067        Reviewed by Darin Adler.
28068
28069        Assertion failure (willBeComposited == needsToBeComposited(layer)) in
28070        RenderLayerCompositor::computeCompositingRequirements() on hulu.com
28071        https://bugs.webkit.org/show_bug.cgi?id=36516
28072        
28073        Fix assertions added in r56017. That changed replaced calls to needsToBeComposited()
28074        with use of the local 'willBeComposited' variable, but that fails to take into
28075        account the fact that needsToBeComposited() also tests layer->isSelfPaintingLayer().
28076        
28077        Fix by adding a canBeComposited() method that we call before testing
28078        whether the layer should go into compositing mode.
28079
28080        Test: compositing/self-painting-layers2.html
28081
28082        * rendering/RenderLayerCompositor.cpp:
28083        (WebCore::RenderLayerCompositor::calculateCompositedBounds): Repace use of isSelfPaintingLayer()
28084        with a call to canBeComposited().
28085        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call canBeComposited() to ensure
28086        that we only toggle 'willBeComposited' for layers that can.
28087        (WebCore::RenderLayerCompositor::needsToBeComposited): Call canBeComposited().
28088        (WebCore::RenderLayerCompositor::canBeComposited): Test if compositing is enabled, and whether
28089        the layer is self-painting.
28090        * rendering/RenderLayerCompositor.h: Add canBeComposited().
28091
280922010-04-01  Simon Fraser  <simon.fraser@apple.com>
28093
28094        Reviewed by Darin Adler.
28095
28096        https://bugs.webkit.org/show_bug.cgi?id=36980
28097        Add object addresses to debug showLayerTree() output.
28098        
28099        Add the ability to print RenderLayer and RenderObject addresses in the showLayerTree()
28100        output.
28101
28102        * platform/text/TextStream.cpp:
28103        (WebCore::TextStream::operator<<):
28104        * platform/text/TextStream.h:
28105        * rendering/RenderLayer.cpp:
28106        (showLayerTree):
28107        * rendering/RenderTreeAsText.cpp:
28108        (WebCore::writeRenderObject):
28109        (WebCore::write):
28110        * rendering/RenderTreeAsText.h:
28111
281122010-03-29  Dumitru Daniliuc  <dumi@chromium.org>
28113
28114        Reviewed by Dimitri Glazkov.
28115
28116        Changing SQLiteStatement::prepare() to return an error when it's
28117        given a string that has more than one statement in it. Currently,
28118        everything past the first statement is silently ignored.
28119
28120        Test: storage/executesql-accepts-only-one-statement.html
28121
28122        * platform/sql/SQLiteStatement.cpp:
28123        (WebCore::SQLiteStatement::prepare):
28124
281252010-04-01  James Robinson  <jamesr@chromium.org>
28126
28127        Reviewed by Simon Fraser.
28128
28129        Keeps a transient optimistic offset to the root in RenderLayer::updateLayerPositions
28130        https://bugs.webkit.org/show_bug.cgi?id=33520
28131
28132        RenderLayer::updateLayerPositions() makes a recursive walk through all RenderLayers and updates the repaint rectangles on each.
28133        These rectangles have to be calculated in the repaint container's coordinates using RenderObject::mapLocalToContainer to walk
28134        up to the repaint container.  This patch keeps track of the offset to the root and uses that offset instead of walking back up to
28135        the root every time.
28136
28137        Tests: fast/layers/nested-layers-1.html
28138               fast/layers/nested-layers-2.html
28139               fast/layers/nested-layers-3.html
28140               fast/layers/nested-layers-4.html
28141
28142        * page/FrameView.cpp:
28143        (WebCore::FrameView::layout):
28144        * rendering/RenderBox.cpp:
28145        (WebCore::RenderBox::outlineBoundsForRepaint):
28146        * rendering/RenderBox.h:
28147        * rendering/RenderLayer.cpp:
28148        (WebCore::RenderLayer::updateLayerPositions):
28149        * rendering/RenderLayer.h:
28150        * rendering/RenderObject.h:
28151        (WebCore::RenderObject::outlineBoundsForRepaint):
28152        * rendering/RenderSVGModelObject.cpp:
28153        (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
28154        * rendering/RenderSVGModelObject.h:
28155
281562010-04-01  Daniel Bates  <dbates@rim.com>
28157
28158        Reviewed by Darin Adler.
28159
28160        https://bugs.webkit.org/show_bug.cgi?id=36901
28161
28162        Removed functions Range::operator == and Range::operator != as they
28163        were using C++ code that was not sound and hence may have undefined
28164        behavior.
28165
28166        Test case: manual-tests/crash-on-find-with-no-selection.html
28167
28168        * dom/Range.cpp:
28169        (WebCore::areRangesEqual): Added.
28170        * dom/Range.h:
28171        * editing/markup.cpp:
28172        (WebCore::createMarkup): Modified to call WebCore::areRangesEqual.
28173        * manual-tests/crash-on-find-with-no-selection.html: Added.
28174        * page/Frame.cpp:
28175        (WebCore::Frame::findString): Modified to call WebCore::areRangesEqual.
28176
281772010-04-01  Geoffrey Garen  <ggaren@apple.com>
28178
28179        Reviewed by Sam Weinig.
28180
28181        Synchronous rendering when setting form control values slows down JavaScript
28182        https://bugs.webkit.org/show_bug.cgi?id=36967
28183
28184        This patch basically reverts http://trac.webkit.org/changeset/19006.
28185        
28186        Dan asked me to investigate why 19006 is no longer needed. I have two answers:
28187
28188            (1) I was also able to remove the synchronous call to updateFromElement().
28189            That call was the proximate cause of the crash that 19006 fixed.
28190
28191            (2) updateFromElement() no longer calls HTMLElement::setInnerText()
28192            in the way that it used to. (However, it doesn't seem prudent to
28193            rely on this happy coincidence.)
28194
28195        * html/HTMLInputElement.cpp:
28196        (WebCore::HTMLInputElement::setValue): Simplified some logic here. Moved
28197        setNeedsValidityCheck() outside of individual 'if' clauses, since they all
28198        called it.
28199        
28200        Removed call to updateStyleIfNeeded(), which does rendering synchronously,
28201        since that was the performance problem. (setNeedsStyleRecalc() ensures
28202        that rendering will happen asynchronously.) Also removed comment about
28203        ordering dangers introduced by updateStyleIfNeeded().
28204        
28205        Removed call to updateFromElement(), since it's dangerous and also a minor
28206        performance problem. (setNeedsStyleRecalc() ensures that updateFromElement()
28207        will happen asynchronously, too.)
28208
28209        * html/HTMLTextAreaElement.cpp:
28210        (WebCore::HTMLTextAreaElement::setNonDirtyValue): Ditto. Here, I had to
28211        add a call to setNeedsStyleRecalc(), since there wasn't one before.
28212
282132010-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
28214
28215        Reviewed by Pavel Feldman.
28216
28217        Web Inspector: Sometimes js code can detach page from it's frame and in that case
28218        Dispatch Events will stay in the TimelineAgent's events stack. Only immediate events will
28219        appear at frontend.
28220        https://bugs.webkit.org/show_bug.cgi?id=36890
28221
28222        * bindings/v8/V8Proxy.cpp:
28223        (WebCore::V8Proxy::callFunction):
28224        * dom/Node.cpp:
28225        (WebCore::Node::dispatchGenericEvent):
28226        * page/DOMWindow.cpp:
28227        (WebCore::DOMWindow::dispatchEvent):
28228
282292010-04-01  Chris Fleizach  <cfleizach@apple.com>
28230
28231        Reviewed by Beth Dakin.
28232
28233        Bug 36977 - aria-label doesn't work on image map area
28234        https://bugs.webkit.org/show_bug.cgi?id=36977
28235
28236        Test: platform/mac/accessibility/area-with-aria-label.html
28237
28238        * accessibility/AccessibilityImageMapLink.cpp:
28239        (WebCore::AccessibilityImageMapLink::accessibilityDescription):
28240
282412010-04-01  Simon Fraser  <simon.fraser@apple.com>
28242
28243        Reviewed by Dan Bernstein.
28244
28245        Assertion failure: !repaintContainer || repaintContainer == this
28246        https://bugs.webkit.org/show_bug.cgi?id=36672
28247        
28248        RenderText's implementation of clippedOverflowRectForRepaint() uses containingBlock()
28249        to get the renderer to use for computing the repaint rect. However, the renderer returned
28250        by containingBlock() may be an ancestor of the repaintContainer, and containingBlock()
28251        doesn't have the 'repaintContainerSkipped' logic that container() has.
28252        
28253        So in this case, check to see whether repaintContainer is actually a descendant of the
28254        containing block, and in that case just repaint the entire repaintContainer.
28255
28256        Test: compositing/repaint/inline-repaint-container.html
28257
28258        * rendering/RenderText.cpp:
28259        (WebCore::RenderText::clippedOverflowRectForRepaint):
28260
282612010-04-01  Csaba Osztrogonác  <ossy@webkit.org>
28262
28263        Reviewed by Jian Li.
28264
28265        [Qt] REGRESSION(r56869): Windows build is broken
28266        https://bugs.webkit.org/show_bug.cgi?id=36929
28267
28268        * WebCore.pro: LIBS += -lOle32 added.
28269        * platform/UUID.cpp: Define ARRAYSIZE macro if it isn't defined before.
28270
282712010-04-01  Chris Fleizach  <cfleizach@apple.com>
28272
28273        Reviewed by Beth Dakin.
28274
28275        Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
28276        https://bugs.webkit.org/show_bug.cgi?id=36968
28277
28278        Test: accessibility/crash-with-noelement-selectbox.html
28279
28280        When a <select> element had no options, the selectedIndex == -1 and that was being
28281        used to index into an empty array.
28282
28283        * accessibility/AccessibilityRenderObject.cpp:
28284        (WebCore::AccessibilityRenderObject::stringValue):
28285
282862010-04-01  MORITA Hajime  <morrita@google.com>
28287
28288        Reviewed by Shinichiro Hamaji.
28289
28290        https://bugs.webkit.org/show_bug.cgi?id=36948
28291        Refactoring: Position::primaryDirection() should be extracted.
28292
28293        No new tests. No functinal change.
28294
28295        * dom/Position.cpp:
28296        (WebCore::Position::getInlineBoxAndOffset):
28297        (WebCore::Position::primaryDirection): Added
28298        * dom/Position.h:
28299        * editing/VisiblePosition.cpp:
28300        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
28301        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
28302
283032010-04-01  Alexander Pavlov  <apavlov@chromium.org>
28304
28305        Reviewed by Pavel Feldman.
28306
28307        Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
28308        https://bugs.webkit.org/show_bug.cgi?id=36952
28309
28310        * inspector/front-end/AuditRules.js:
28311        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
28312
283132010-03-31  Jeremy Orlow  <jorlow@chromium.org>
28314
28315        Reviewed by Nate Chapin.
28316
28317        Misc IndexedDatabase cleanup
28318        https://bugs.webkit.org/show_bug.cgi?id=36889
28319
28320        No functional changes.
28321
28322        * bindings/v8/custom/V8CustomIDBCallbacks.h:  
28323        (WebCore::V8CustomIDBCallbacks::onSuccess):
28324        (WebCore::V8CustomIDBCallbacks::onError):
28325        (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
28326            Get rid of 2 largely redundant bools
28327
28328        * storage/IndexedDatabase.h:
28329        * storage/IndexedDatabaseImpl.cpp:
28330        (WebCore::IndexedDatabaseImpl::open):
28331        * storage/IndexedDatabaseImpl.h:
28332        * storage/IndexedDatabaseRequest.cpp:
28333        (WebCore::IndexedDatabaseRequest::open):
28334        * storage/IndexedDatabaseRequest.h:
28335            Plumb the Frame* and style cleanups.
28336
283372010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>
28338
28339        Reviewed by Dirk Schulze.
28340
28341        REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
28342        https://bugs.webkit.org/show_bug.cgi?id=27183
28343
28344        Rewrite getCTM() / getScreenCTM() handling in an iterative way, fixing all known problems/limitations.
28345        The bug mentioned above is actually not a regression, getScreenCTM() only worked before, because we
28346        did not handle non-SVG CSS box parents properly. When support was added to handle those cases, the
28347        getScreenCTM() handling was completly off, causing a lot of trouble in real-life SVG applications (carto.net for instance)
28348
28349        Tests: svg/custom/svgsvgelement-ctm.xhtml (fixed typo, missing unit identifier in CSS 'height' property, leading to incorrect results)
28350               svg/custom/svgsvgelement-ctm2.xhtml
28351               svg/custom/svgsvgelement-ctm3.xhtml
28352               svg/custom/svgsvgelement-ctm4.xhtml
28353               svg/custom/svgsvgelement-ctm5.xhtml
28354
28355        * svg/SVGLocatable.cpp:
28356        (WebCore::SVGLocatable::getBBox):
28357        (WebCore::SVGLocatable::computeCTM):
28358        * svg/SVGLocatable.h:
28359        (WebCore::SVGLocatable::localCoordinateSpaceTransform):
28360        * svg/SVGSVGElement.cpp:
28361        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
28362        (WebCore::SVGSVGElement::createRenderer):
28363        * svg/SVGSVGElement.h:
28364        * svg/SVGStyledElement.cpp:
28365        (WebCore::SVGStyledElement::localCoordinateSpaceTransform):
28366        * svg/SVGStyledElement.h:
28367        * svg/SVGStyledLocatableElement.cpp:
28368        (WebCore::SVGStyledLocatableElement::getCTM):
28369        (WebCore::SVGStyledLocatableElement::getScreenCTM):
28370        * svg/SVGStyledLocatableElement.h:
28371        (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
28372        * svg/SVGStyledTransformableElement.cpp:
28373        (WebCore::SVGStyledTransformableElement::getCTM):
28374        (WebCore::SVGStyledTransformableElement::getScreenCTM):
28375        * svg/SVGStyledTransformableElement.h:
28376        (WebCore::SVGStyledTransformableElement::localCoordinateSpaceTransform):
28377        * svg/SVGTextElement.cpp:
28378        (WebCore::SVGTextElement::getCTM):
28379        (WebCore::SVGTextElement::getScreenCTM):
28380        * svg/SVGTextElement.h:
28381        (WebCore::SVGTextElement::localCoordinateSpaceTransform):
28382        * svg/SVGTransformable.cpp:
28383        (WebCore::SVGTransformable::SVGTransformable):
28384        * svg/SVGTransformable.h:
28385        (WebCore::SVGTransformable::localCoordinateSpaceTransform):
28386
283872010-04-01  Vitaly Repeshko  <vitalyr@chromium.org>
28388
28389        Reviewed by Darin Fisher.
28390
28391        [V8] Quick fix for failure in SerializedScriptValue
28392        https://bugs.webkit.org/show_bug.cgi?id=36943
28393
28394        This allows the web worker layout tests to pass again.
28395
28396        * bindings/v8/SerializedScriptValue.h:
28397        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28398
283992010-03-31  MORITA Hajime  <morrita@google.com>
28400        
28401        Reviewed by Darin Adler.
28402
28403        Crash when writing into a detached TITLE element
28404        https://bugs.webkit.org/show_bug.cgi?id=25567
28405        
28406        Document::setTitle() invoked HTMLTitleElement::setText(), which
28407        contains DOM tree modification, even when setTitle() is called
28408        from HTMLTitleElement::childrenChanged().  Fix to skip setText()
28409        when setTitle() is called childrenChanged() to avoid cascading
28410        DOM mutations between Document and HTMLTitleElement.
28411
28412        Test: fast/dom/title-content-write-set.html
28413
28414        * dom/Document.cpp:
28415        (WebCore::Document::setTitle):
28416
284172010-04-01  Roland Steiner  <rolandsteiner@chromium.org>
28418
28419        Reviewed by Darin Adler.
28420
28421        Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
28422        https://bugs.webkit.org/show_bug.cgi?id=36803
28423
28424        Don't use ruby rendering if the underlying 'display' property has been
28425        changed into a value other than 'inline' or 'block' (such as 'inline-table').
28426
28427        Test: fast/ruby/ruby-inline-table.html
28428
28429        * rendering/RenderObject.cpp:
28430        (WebCore::RenderObject::createObject):
28431
284322010-03-31  Geoffrey Garen  <ggaren@apple.com>
28433
28434        Reviewed by Darin Adler.
28435
28436        Crash submitting display:none textarea in a form
28437        https://bugs.webkit.org/show_bug.cgi?id=36905
28438
28439        Test: fast/forms/textarea-submit-crash.html
28440
28441        * html/HTMLTextAreaElement.cpp:
28442        (WebCore::HTMLTextAreaElement::appendFormData): Do update layout before
28443        asking our renderer for its text, since we can't rely on our renderer's
28444        text if layout is needed.
28445
28446        * rendering/RenderTextControl.cpp:
28447        (WebCore::RenderTextControl::textWithHardLineBreaks): Don't update layout
28448        while being asked for our text, since doing so may delete us, causing a crash.
28449
284502010-03-31  Chris Fleizach  <cfleizach@apple.com>
28451
28452        Reviewed by Darin Adler.
28453
28454        Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
28455        https://bugs.webkit.org/show_bug.cgi?id=36845
28456
28457        Provide a way through WebKit to set an accessible label that describes the web area.
28458
28459        Test: platform/mac/accessibility/html-with-aria-label.html
28460
28461        * accessibility/AccessibilityObject.h:
28462        (WebCore::AccessibilityObject::setAccessibleName):
28463        * accessibility/AccessibilityRenderObject.cpp:
28464        (WebCore::AccessibilityRenderObject::accessibilityDescription):
28465        (WebCore::AccessibilityRenderObject::setAccessibleName):
28466        * accessibility/AccessibilityRenderObject.h:
28467
284682010-03-31  Mark Rowe  <mrowe@apple.com>
28469
28470        Reviewed by Darin Adler.
28471
28472        <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"
28473
28474        * platform/KURL.cpp:
28475        (WebCore::KURL::port): Explicitly handle the case of a colon being present in the URL after the host name but with
28476        no port number before the path.  This is handled in the same manner as the colon and port being omitted completely.
28477
284782010-03-31  Gavin Barraclough  <barraclough@apple.com>
28479
28480        Reviewed by Oliver Hunt.
28481
28482        Remove dependency on TextBreakIterator from StringImpl.cpp,
28483        and from member methods of String.
28484
28485        Make 'numGraphemeClusters' & 'numCharactersInGraphemeClusters'
28486        global function defined in PlatformString.h, rather than
28487        member methods on String (these can be implemented purely
28488        using the characters() and length() public interface),
28489        and make 'makeCapitalized' a static function in RenderText.cpp.
28490
28491        * dom/InputElement.cpp:
28492        (WebCore::InputElement::sanitizeUserInputValue):
28493        (WebCore::InputElement::handleBeforeTextInsertedEvent):
28494        * html/HTMLInputElement.cpp:
28495        (WebCore::HTMLInputElement::tooLong):
28496        * html/HTMLTextAreaElement.cpp:
28497        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
28498        (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
28499        (WebCore::HTMLTextAreaElement::tooLong):
28500        * platform/text/PlatformString.h:
28501        (WebCore::String::makeSecure):
28502        * platform/text/String.cpp:
28503        (WebCore::numGraphemeClusters):
28504        (WebCore::numCharactersInGraphemeClusters):
28505        * platform/text/StringImpl.cpp:
28506        * platform/text/StringImpl.h:
28507        * rendering/RenderText.cpp:
28508        (WebCore::makeCapitalized):
28509        (WebCore::RenderText::setTextInternal):
28510
285112010-03-31  Vitaly Repeshko  <vitalyr@chromium.org>
28512
28513        Reviewed by David Levin.
28514
28515        [V8] SerializedScriptValue must be deserialized only once and in the right context
28516        https://bugs.webkit.org/show_bug.cgi?id=36892
28517
28518        See also https://bugs.webkit.org/show_bug.cgi?id=34227 for the
28519        corresponding JSC change.
28520
28521        General idea: SerializedScriptValue must be deserialized only once
28522        and in the context of the intended MessageEvent recepient. The
28523        approach we take for now is to eagerly deserialize when a
28524        JavaScript wrapper for MessageEvent is created.
28525
28526        A better fix would be to keep a reference to the context in
28527        MessageEvent and use it when lazily deserializing. It's harder to
28528        do since the API doesn't have a clean method to have such a reference.
28529
28530        Tested by fast/dom/Window/window-postmessage-clone-frames.html. This
28531        test still fails but only for the types which we can't serialize yet.
28532
28533        * bindings/scripts/CodeGeneratorV8.pm:
28534        * bindings/v8/SerializedScriptValue.h:
28535        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
28536        * bindings/v8/custom/V8MessageEventCustom.cpp:
28537        (WebCore::V8MessageEvent::initMessageEventCallback):
28538
285392010-03-31  Adam Barth  <abarth@webkit.org>
28540
28541        Reviewed by Darin Fisher.
28542
28543        Cleanup RedirectScheduler
28544        https://bugs.webkit.org/show_bug.cgi?id=36874
28545
28546        Removed the nutty ScheduledRedirection struct in favor of a hierarchy
28547        of classes to represent the various kinds of scheduled redirects.
28548        Doing this lets us get rid of the pseudo RTTI switch statements on
28549        "type" in favour of calling virtual functions.
28550
28551        No new tests because this change should be API identical with the
28552        existing RedirectScheduler.
28553
28554        * loader/RedirectScheduler.cpp:
28555        (WebCore::ScheduledNavigation::ScheduledNavigation):
28556        (WebCore::ScheduledNavigation::~ScheduledNavigation):
28557        (WebCore::ScheduledNavigation::isLocationChange):
28558        (WebCore::ScheduledNavigation::shouldStartTimer):
28559        (WebCore::ScheduledNavigation::didStartTimer):
28560        (WebCore::ScheduledNavigation::didStopTimer):
28561        (WebCore::ScheduledNavigation::delay):
28562        (WebCore::ScheduledNavigation::lockHistory):
28563        (WebCore::ScheduledNavigation::lockBackForwardList):
28564        (WebCore::ScheduledNavigation::wasDuringLoad):
28565        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
28566        (WebCore::ScheduledURLNavigation::fire):
28567        (WebCore::ScheduledURLNavigation::didStartTimer):
28568        (WebCore::ScheduledURLNavigation::didStopTimer):
28569        (WebCore::ScheduledURLNavigation::url):
28570        (WebCore::ScheduledURLNavigation::referrer):
28571        (WebCore::ScheduledURLNavigation::wasUserGesture):
28572        (WebCore::ScheduledRedirect::ScheduledRedirect):
28573        (WebCore::ScheduledRedirect::isLocationChange):
28574        (WebCore::ScheduledRedirect::shouldStartTimer):
28575        (WebCore::ScheduledLocationChange::ScheduledLocationChange):
28576        (WebCore::ScheduledRefresh::ScheduledRefresh):
28577        (WebCore::ScheduledRefresh::fire):
28578        (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
28579        (WebCore::ScheduledHistoryNavigation::fire):
28580        (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
28581        (WebCore::ScheduledFormSubmission::fire):
28582        (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
28583        (WebCore::RedirectScheduler::clear):
28584        (WebCore::RedirectScheduler::scheduleRedirect):
28585        (WebCore::RedirectScheduler::mustLockBackForwardList):
28586        (WebCore::RedirectScheduler::scheduleLocationChange):
28587        (WebCore::RedirectScheduler::scheduleFormSubmission):
28588        (WebCore::RedirectScheduler::scheduleRefresh):
28589        (WebCore::RedirectScheduler::locationChangePending):
28590        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
28591        (WebCore::RedirectScheduler::timerFired):
28592        (WebCore::RedirectScheduler::schedule):
28593        (WebCore::RedirectScheduler::startTimer):
28594        (WebCore::RedirectScheduler::cancel):
28595        * loader/RedirectScheduler.h:
28596
285972010-03-31  Zhenyao Mo  <zmo@google.com>
28598
28599        Reviewed by Darin Fisher.
28600
28601        Hook up WebGLContextAttributes to OpenGL context creation code
28602        https://bugs.webkit.org/show_bug.cgi?id=33416
28603
28604        Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
28605
28606        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
28607        (WebCore::V8HTMLCanvasElement::getContextCallback):
28608        * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
28609        * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
28610        * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
28611        (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
28612        * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
28613        (WebCore::GraphicsContext3D::GraphicsContext3D):
28614        (WebCore::GraphicsContext3D::~GraphicsContext3D):
28615        (WebCore::GraphicsContext3D::validateAttributes):
28616        (WebCore::GraphicsContext3D::reshape):
28617        (WebCore::GraphicsContext3D::prepareTexture):
28618        (WebCore::GraphicsContext3D::bindFramebuffer):
28619        (WebCore::GraphicsContext3D::readPixels):
28620        * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
28621        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
28622
286232010-03-31  Jian Li  <jianli@chromium.org>
28624
28625        Reviewed by Dmitry Titov.
28626
28627        Add support to create UUID string.
28628        https://bugs.webkit.org/show_bug.cgi?id=36472
28629
28630        * GNUmakefile.am:
28631        * WebCore.gypi:
28632        * WebCore.pro:
28633        * WebCore.vcproj/WebCore.vcproj:
28634        * WebCore.xcodeproj/project.pbxproj:
28635        * platform/UUID.cpp: Added.
28636        (WebCore::createCanonicalUUIDString):
28637        * platform/UUID.h: Added.
28638
286392010-03-31  Darin Adler  <darin@apple.com>
28640
28641        * rendering/RenderThemeChromiumWin.h: Fix inconsistent line endings.
28642
286432010-03-31  Luiz Agostini  <luiz.agostini@openbossa.org>
28644
28645        Reviewed by Kenneth Rohde Christiansen.
28646
28647        [Qt] Maemo5 theme - form controls style
28648        https://bugs.webkit.org/show_bug.cgi?id=36370
28649
28650        Adjusting Mameo5 form elements rendering.
28651
28652        * WebCore.pri:
28653        * WebCore.pro:
28654        * css/themeQtMaemo5.css: Added.
28655        (select):
28656        (select:disabled):
28657        (select:active):
28658        (select:active:disabled):
28659        (textarea):
28660        (textarea:disabled):
28661        (textarea:active):
28662        * platform/qt/Maemo5Webstyle.cpp: Added.
28663        (Maemo5WebStyle::Maemo5WebStyle):
28664        (drawRectangularControlBackgorund):
28665        (Maemo5WebStyle::drawChecker):
28666        (Maemo5WebStyle::findChecker):
28667        (Maemo5WebStyle::drawRadio):
28668        (Maemo5WebStyle::findRadio):
28669        (Maemo5WebStyle::drawControl):
28670        (Maemo5WebStyle::drawComplexControl):
28671        * platform/qt/Maemo5Webstyle.h: Added.
28672        * platform/qt/RenderThemeQt.cpp:
28673        (WebCore::RenderThemeQt::RenderThemeQt):
28674        (WebCore::RenderThemeQt::isControlStyled):
28675        (WebCore::RenderThemeQt::popupInternalPaddingBottom):
28676        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
28677        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
28678        * platform/qt/RenderThemeQt.h:
28679
286802010-03-31  Alexey Proskuryakov  <ap@apple.com>
28681
28682        https://bugs.webkit.org/show_bug.cgi?id=36897
28683        <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
28684
28685        Addressing additional review comments.
28686
28687        * rendering/RenderWidget.cpp: Removed an unneeded include.
28688        * rendering/RenderWidget.h: Reworded the new comment.
28689
286902010-03-31  Alexey Proskuryakov  <ap@apple.com>
28691
28692        Reviewed by Dan Bernstein.
28693
28694        https://bugs.webkit.org/show_bug.cgi?id=36897
28695        <rdar://problem/7804018> REGRESSION (r56429): Flash ads are clipped when main page is scrolled (boxofficemojo.com)
28696
28697        * manual-tests/plugin-in-iframe-scroll.html: Added.
28698        * manual-tests/resources/plugin-in-iframe-scroll-iframe.html: Added.
28699
28700        * rendering/RenderWidget.cpp:
28701        (WebCore::RenderWidget::setWidgetGeometry): This method isn't called when an iframe containing
28702        the widget moves, so we should store a value that is not dependent on current scroll offset.
28703        (WebCore::RenderWidget::windowClipRect): Apply scroll offset and window clip now.
28704
28705        * rendering/RenderWidget.h: Renamed m_windowClipRect to m_clipRect, because it is no longer
28706        in window coordinates.
28707
28708        * WebCore.base.exp: Export RenderWidget::windowClipRect(), since it's no longer inline.
28709
287102010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28711
28712        Unreviewed crash fix.
28713
28714        Crash with frame flattening on after r56854
28715        https://bugs.webkit.org/show_bug.cgi?id=36894
28716
28717        Solution tested by Greg Bolsinga, thanks.
28718
28719        * page/FrameView.cpp:
28720        (WebCore::FrameView::avoidScrollbarCreation):
28721        * platform/ScrollView.cpp:
28722        (WebCore::ScrollView::setHasHorizontalScrollbar):
28723        (WebCore::ScrollView::setHasVerticalScrollbar):
28724
287252010-03-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28726
28727        Reviewed by Antti Koivisto.
28728
28729        iframe flattening doesn't flatten
28730        https://bugs.webkit.org/show_bug.cgi?id=36798
28731
28732        Do not draw scrollbars for subframes when frame flattening is
28733        enabled. Implemented using a virtual method in ScrollView as
28734        suggested by Dave Hyatt.
28735
28736        Do not suppress scrollbars as that is wrong according to
28737        Dave Hyatt.
28738
28739        Covered by current tests.
28740
28741        * page/FrameView.cpp:
28742        (WebCore::FrameView::avoidScrollbarCreation):
28743        * page/FrameView.h:
28744        * platform/ScrollView.cpp:
28745        (WebCore::ScrollView::setHasHorizontalScrollbar):
28746        (WebCore::ScrollView::setHasVerticalScrollbar):
28747        * platform/ScrollView.h:
28748        (WebCore::ScrollView::avoidScrollbarCreation):
28749        * rendering/RenderPart.cpp:
28750        (WebCore::RenderPart::layoutWithFlattening):
28751
287522010-03-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28753
28754        Reviewed by Antti Koivisto.
28755
28756        iframe flattening doesn't flatten
28757        https://bugs.webkit.org/show_bug.cgi?id=36798
28758
28759        Fix wrongly reversing logic in frame flattening check.
28760
28761        Tests:
28762        fast/frames/flattening/iframe-flattening-fixed-height.html
28763        fast/frames/flattening/iframe-flattening-fixed-width.html
28764        fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
28765        fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html
28766
28767        * rendering/RenderPartObject.cpp:
28768        (WebCore::RenderPartObject::flattenFrame):
28769
287702010-03-31  Marcus Bulach  <bulach@chromium.org>
28771
28772        Reviewed by Jeremy Orlow.
28773
28774        Implements cancelGeolocationPermissionRequestForFrame.
28775        Similar to requestGeolocationPermissionForFrame(), passes Geolocation* to cancelGeolocationPermissionRequestForFrame(),
28776        so that the embedder can identify which Geolocation object is cancelling the pending permission request.
28777        Calls cancelGeolocationPermissionRequestForFrame() before stopUpdating() so it better matches the startUpdating() / requestPermission() flow.
28778        https://bugs.webkit.org/show_bug.cgi?id=35031
28779
28780        * loader/EmptyClients.h:
28781        (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame):
28782        * page/Chrome.cpp:
28783        (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame):
28784        * page/Chrome.h:
28785        * page/ChromeClient.h:
28786        * page/Geolocation.cpp:
28787        (WebCore::Geolocation::disconnectFrame):
28788
287892010-03-31  Yael Aharon  <yael.aharon@nokia.com>
28790
28791        Reviewed by Antti Koivisto.
28792
28793        Add animation to progress element
28794        https://bugs.webkit.org/show_bug.cgi?id=36664
28795
28796        Add a timer to control the animation. The timer is started after painting
28797        or a state change in the progress bar, to prevent animation from running
28798        when the progress bar is not visible.
28799
28800        * html/HTMLProgressElement.cpp:
28801        (WebCore::HTMLProgressElement::createRenderer):
28802        * manual-tests/dom: Added.
28803        * manual-tests/dom/progressbar.html: Added.
28804        * platform/qt/RenderThemeQt.cpp:
28805        (WebCore::RenderThemeQt::animationRepeatIntervalForProgressBar):
28806        (WebCore::RenderThemeQt::animationDurationForProgressBar):
28807        (WebCore::RenderThemeQt::paintProgressBar):
28808        * platform/qt/RenderThemeQt.h:
28809        * rendering/RenderProgress.cpp:
28810        (WebCore::RenderProgress::RenderProgress):
28811        (WebCore::RenderProgress::layout):
28812        (WebCore::RenderProgress::updateFromElement):
28813        (WebCore::RenderProgress::animationProgress):
28814        (WebCore::RenderProgress::animationTimerFired):
28815        (WebCore::RenderProgress::paint):
28816        (WebCore::RenderProgress::updateAnimationState):
28817        * rendering/RenderProgress.h:
28818        * rendering/RenderTheme.cpp:
28819        (WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
28820        (WebCore::RenderTheme::animationDurationForProgressBar):
28821        * rendering/RenderTheme.h:
28822
288232010-03-31  Pavel Feldman  <pfeldman@chromium.org>
28824
28825        Not reviewed. Rolling out r56829 since it broke chromium layout tests.
28826
28827        [REGRESSION] Inspector tests started crashing since r56829
28828        https://bugs.webkit.org/show_bug.cgi?id=36888
28829
28830        * bindings/scripts/CodeGeneratorV8.pm:
28831        * bindings/v8/V8Utilities.cpp:
28832        * bindings/v8/V8Utilities.h:
28833        * loader/FrameLoaderClient.h:
28834
288352010-03-31  Pavel Feldman  <pfeldman@chromium.org>
28836
28837        Reviewed by Timothy Hatcher.
28838
28839        Web Inspector: creating new style bugfixing.
28840
28841        https://bugs.webkit.org/show_bug.cgi?id=36884
28842
28843        - InspectorDOMAgent should clear internal state upon reset (we are re-using
28844          single dom agent instance throughout entire inspector controller lifetime) 
28845        - Brought back blank style 'refresh' processing logic - remove it by mistake earlier
28846        - Blocked couple of click handlers so that double-click to edit was not
28847          expanding / collapsing the pane
28848        - There is no need to reach out for matched rules upon 'refresh' update -
28849          getting computed style is sufficient.
28850
28851        * css/CSSStyleSelector.cpp:
28852        (WebCore::CSSStyleSelector::matchRulesForList):
28853        * inspector/InspectorDOMAgent.cpp:
28854        (WebCore::InspectorDOMAgent::discardBindings):
28855        * inspector/front-end/StylesSidebarPane.js:
28856        (WebInspector.StylesSidebarPane.prototype.update.getStylesCallback):
28857        (WebInspector.StylesSidebarPane.prototype.update.getComputedStyleCallback):
28858        (WebInspector.StylesSidebarPane.prototype.update):
28859        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
28860        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
28861        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
28862        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
28863        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace):
28864        (WebInspector.StylePropertiesSection.prototype._clickSelector):
28865
288662010-03-31  Yury Semikhatsky  <yurys@chromium.org>
28867
28868        Unreviewed. Chromium build fix: create missing v8::HandleScope.
28869
28870        https://bugs.webkit.org/show_bug.cgi?id=36828
28871
28872        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
28873        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28874
288752010-03-31  Yury Semikhatsky  <yurys@chromium.org>
28876
28877        Reviewed by Pavel Feldman.
28878
28879        Check that injected script can still access inspected window object when wrapping console object. When the window cannot be access serialize objects as strings. Also don't call InjectedScript.dispatch if the window cannot be accessed (due to frame navigation).
28880
28881        https://bugs.webkit.org/show_bug.cgi?id=36828
28882
28883        * bindings/js/JSInjectedScriptHostCustom.cpp:
28884        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28885        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
28886        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
28887        * inspector/InjectedScript.cpp:
28888        (WebCore::InjectedScript::wrapForConsole):
28889        * inspector/InjectedScriptHost.h:
28890        * inspector/front-end/InjectedScript.js:
28891        (injectedScriptConstructor):
28892
288932010-03-31  Mattias Nissler  <mnissler@google.com>
28894
28895        Reviewed by Pavel Feldman.
28896
28897        Allow generic resource URLs for cookie handling in the inspector. This
28898        enables display of all cookies, not only those that are associated
28899        with resources accessed through http, https or file.
28900        https://bugs.webkit.org/show_bug.cgi?id=36877
28901
28902        * inspector/front-end/CookieItemsView.js:
28903        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
28904        * inspector/front-end/DOMAgent.js:
28905        (WebInspector.Cookies.cookieMatchesResourceURL):
28906        * inspector/front-end/inspector.js:
28907        (WebInspector.updateResource):
28908
289092010-03-30  Jeremy Orlow  <jorlow@chromium.org>
28910
28911        Reviewed by Nate Chapin.
28912
28913        IndexedDB: Finish hooking up bindings for IndexedDatabaseRequest
28914        https://bugs.webkit.org/show_bug.cgi?id=36830
28915
28916        Still not enough hooked up to test.  Soon!
28917
28918        * WebCore.gypi:
28919        * bindings/v8/custom/V8CustomIDBCallback.h: Removed.
28920        * bindings/v8/custom/V8CustomIDBCallbacks.h: Added.
28921        (WebCore::V8CustomIDBCallbacks::create):
28922        (WebCore::V8CustomIDBCallbacks::~V8CustomIDBCallbacks):
28923        (WebCore::V8CustomIDBCallbacks::onSuccess):
28924        (WebCore::V8CustomIDBCallbacks::onError):
28925        (WebCore::V8CustomIDBCallbacks::V8CustomIDBCallbacks):
28926        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
28927        (WebCore::V8IndexedDatabaseRequest::openCallback):
28928        * storage/IDBDatabaseRequest.cpp: Added.
28929        (WebCore::IDBDatabaseRequest::IDBDatabaseRequest):
28930        (WebCore::IDBDatabaseRequest::~IDBDatabaseRequest):
28931        * storage/IDBDatabaseRequest.h:
28932        (WebCore::IDBDatabaseRequest::create):
28933        * storage/IndexedDatabaseRequest.cpp:
28934        (WebCore::IndexedDatabaseRequest::open):
28935        * storage/IndexedDatabaseRequest.h:
28936
289372010-03-31  Zhenyao Mo  <zmo@google.com>
28938
28939        Reviewed by Darin Fisher.
28940
28941        Implement memmove behavior for WebGLArray set()
28942        https://bugs.webkit.org/show_bug.cgi?id=35619
28943
28944        New test cases are added to fast/canvas/webgl/array-setters.html.
28945
28946        * html/canvas/WebGLArray.cpp: Use memmove instead of memcpy; with memmove, copying takes place as if an intermediate buffer was used, allowing the destination and source to overlap.
28947        (WebCore::WebGLArray::setImpl):
28948
289492010-03-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
28950
28951        Reviewed by Darin Adler.
28952
28953        tryLayoutDoingPositionedMovementOnly does not have to be in RenderObject or be virtual
28954        https://bugs.webkit.org/show_bug.cgi?id=36810
28955
28956        Move tryLayoutDoingPositionedMovementOnly as a regular method of RenderBox
28957
28958        * rendering/RenderBox.h:
28959        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
28960        * rendering/RenderObject.h:
28961
289622010-03-31  John Gregg  <johnnyg@google.com>
28963
28964        Reviewed by Darin Fisher.
28965
28966        [chromium] add logging of cross-frame property accesses for site isolation
28967        https://bugs.webkit.org/show_bug.cgi?id=35773
28968
28969        No new tests as no new functionality.
28970
28971        * bindings/scripts/CodeGeneratorV8.pm:
28972        * bindings/v8/V8Utilities.cpp:
28973        (WebCore::logPropertyAccess):
28974        * bindings/v8/V8Utilities.h:
28975        * loader/FrameLoaderClient.h:
28976        (WebCore::FrameLoaderClient::logCrossFramePropertyAccess):
28977
289782010-03-30  Gavin Barraclough  <barraclough@apple.com>
28979
28980        Rubber stamped by Sam Weinig.
28981
28982        https://bugs.webkit.org/show_bug.cgi?id=36866
28983        Move CString to WTF
28984
28985        * Android.mk:
28986        * ForwardingHeaders/wtf/text: Added.
28987        * ForwardingHeaders/wtf/text/CString.h: Added.
28988        * GNUmakefile.am:
28989        * WebCore.base.exp:
28990        * WebCore.gypi:
28991        * WebCore.order:
28992        * WebCore.pro:
28993        * WebCore.vcproj/WebCore.vcproj:
28994        * WebCore.xcodeproj/project.pbxproj:
28995        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
28996        * bindings/js/JSDOMWindowBase.cpp:
28997        * bindings/js/ScheduledAction.cpp:
28998        * bindings/js/ScriptController.cpp:
28999        * bindings/v8/ScriptController.cpp:
29000        * bindings/v8/V8Binding.cpp:
29001        * bindings/v8/V8DOMWindowShell.cpp:
29002        * bridge/jni/JNIBridge.cpp:
29003        * bridge/jni/v8/JavaStringV8.h:
29004        (JSC::Bindings::JavaStringImpl::init):
29005        * css/CSSParser.cpp:
29006        * dom/CharacterData.cpp:
29007        * dom/Document.cpp:
29008        * dom/Element.cpp:
29009        * dom/Node.cpp:
29010        * dom/Position.cpp:
29011        * dom/Range.cpp:
29012        * dom/Text.cpp:
29013        * dom/XMLTokenizer.cpp:
29014        * dom/XMLTokenizerLibxml2.cpp:
29015        * dom/XMLTokenizerQt.cpp:
29016        * editing/SelectionController.cpp:
29017        * editing/VisiblePosition.cpp:
29018        * editing/VisibleSelection.cpp:
29019        * history/CachedFrame.cpp:
29020        * history/HistoryItem.cpp:
29021        * history/qt/HistoryItemQt.cpp:
29022        * html/FormDataList.h:
29023        (WebCore::FormDataList::appendData):
29024        (WebCore::FormDataList::Item::Item):
29025        (WebCore::FormDataList::Item::data):
29026        * html/HTMLDocument.cpp:
29027        * html/PreloadScanner.cpp:
29028        * inspector/InspectorController.cpp:
29029        * inspector/InspectorDOMAgent.cpp:
29030        * loader/DocLoader.cpp:
29031        * loader/FTPDirectoryDocument.cpp:
29032        * loader/FrameLoader.cpp:
29033        * loader/HistoryController.cpp:
29034        * loader/ProgressTracker.cpp:
29035        * loader/appcache/ApplicationCacheStorage.cpp:
29036        * loader/archive/cf/LegacyWebArchive.cpp:
29037        * loader/icon/wince/IconDatabaseWince.cpp:
29038        * loader/loader.cpp:
29039        * page/Console.cpp:
29040        * page/DOMWindow.cpp:
29041        * page/SecurityOrigin.cpp:
29042        * page/XSSAuditor.cpp:
29043        * page/animation/AnimationBase.cpp:
29044        * platform/ContextMenu.cpp:
29045        * platform/FileSystem.h:
29046        * platform/KURL.cpp:
29047        * platform/KURLGoogle.cpp:
29048        * platform/KURLGooglePrivate.h:
29049        * platform/Pasteboard.h:
29050        * platform/android/FileSystemAndroid.cpp:
29051        * platform/android/TemporaryLinkStubs.cpp:
29052        * platform/brew/KURLBrew.cpp:
29053        * platform/cf/FileSystemCF.cpp:
29054        * platform/chromium/MIMETypeRegistryChromium.cpp:
29055        * platform/efl/FileSystemEfl.cpp:
29056        * platform/efl/PasteboardEfl.cpp:
29057        * platform/efl/PlatformKeyboardEventEfl.cpp:
29058        * platform/efl/PlatformScreenEfl.cpp:
29059        * platform/efl/RenderThemeEfl.cpp:
29060        * platform/efl/ScrollbarEfl.cpp:
29061        * platform/efl/SharedBufferEfl.cpp:
29062        * platform/efl/WidgetEfl.cpp:
29063        * platform/graphics/GlyphPageTreeNode.cpp:
29064        * platform/graphics/cairo/FontPlatformDataCairo.cpp:
29065        * platform/graphics/cg/ImageBufferCG.cpp:
29066        * platform/graphics/chromium/FontCacheLinux.cpp:
29067        * platform/graphics/chromium/FontPlatformDataLinux.h:
29068        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
29069        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
29070        * platform/graphics/gtk/FontPlatformDataPango.cpp:
29071        * platform/graphics/gtk/IconGtk.cpp:
29072        * platform/graphics/gtk/ImageGtk.cpp:
29073        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
29074        * platform/graphics/mac/GraphicsContext3DMac.cpp:
29075        * platform/graphics/mac/GraphicsLayerCA.mm:
29076        * platform/graphics/qt/GraphicsContext3DQt.cpp:
29077        * platform/graphics/qt/ImageBufferQt.cpp:
29078        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
29079        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
29080        * platform/graphics/skia/GraphicsLayerSkia.cpp:
29081        * platform/graphics/win/GraphicsLayerCACF.cpp:
29082        * platform/graphics/win/WKCACFLayer.cpp:
29083        * platform/graphics/wx/FontPlatformData.h:
29084        * platform/gtk/ClipboardGtk.cpp:
29085        * platform/gtk/ContextMenuItemGtk.cpp:
29086        * platform/gtk/DataObjectGtk.h:
29087        * platform/gtk/FileChooserGtk.cpp:
29088        * platform/gtk/FileSystemGtk.cpp:
29089        * platform/gtk/GeolocationServiceGtk.cpp:
29090        * platform/gtk/KURLGtk.cpp:
29091        * platform/gtk/Language.cpp:
29092        * platform/gtk/LocalizedStringsGtk.cpp:
29093        * platform/gtk/PasteboardGtk.cpp:
29094        * platform/gtk/PopupMenuGtk.cpp:
29095        * platform/gtk/RenderThemeGtk.cpp:
29096        * platform/gtk/SharedBufferGtk.cpp:
29097        * platform/haiku/FileSystemHaiku.cpp:
29098        * platform/haiku/PlatformKeyboardEventHaiku.cpp:
29099        * platform/network/CredentialStorage.cpp:
29100        * platform/network/FormData.cpp:
29101        * platform/network/FormData.h:
29102        * platform/network/FormDataBuilder.cpp:
29103        * platform/network/FormDataBuilder.h:
29104        * platform/network/HTTPParsers.cpp:
29105        * platform/network/android/ResourceHandleAndroid.cpp:
29106        * platform/network/cf/FormDataStreamCFNet.cpp:
29107        * platform/network/cf/ResourceHandleCFNet.cpp:
29108        * platform/network/chromium/ResourceResponse.h:
29109        * platform/network/curl/FormDataStreamCurl.cpp:
29110        * platform/network/curl/ResourceHandleManager.cpp:
29111        * platform/network/curl/ResourceHandleManager.h:
29112        * platform/network/mac/FormDataStreamMac.mm:
29113        * platform/network/mac/ResourceHandleMac.mm:
29114        * platform/network/qt/QNetworkReplyHandler.cpp:
29115        * platform/network/soup/CookieJarSoup.cpp:
29116        * platform/network/soup/ResourceHandleSoup.cpp:
29117        * platform/network/soup/ResourceRequestSoup.cpp:
29118        * platform/network/soup/ResourceResponseSoup.cpp:
29119        * platform/network/win/ResourceHandleWin.cpp:
29120        * platform/posix/FileSystemPOSIX.cpp:
29121        * platform/qt/FileSystemQt.cpp:
29122        * platform/qt/KURLQt.cpp:
29123        * platform/qt/TemporaryLinkStubs.cpp:
29124        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
29125        * platform/text/CString.cpp: Removed.
29126        * platform/text/CString.h: Removed.
29127        * platform/text/PlatformString.h:
29128        * platform/text/String.cpp:
29129        * platform/text/StringImpl.cpp:
29130        * platform/text/TextCodec.h:
29131        * platform/text/TextCodecICU.cpp:
29132        * platform/text/TextCodecLatin1.cpp:
29133        * platform/text/TextCodecUTF16.cpp:
29134        * platform/text/TextCodecUserDefined.cpp:
29135        * platform/text/TextEncoding.cpp:
29136        * platform/text/TextEncoding.h:
29137        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
29138        * platform/text/gtk/TextCodecGtk.cpp:
29139        * platform/text/haiku/StringHaiku.cpp:
29140        * platform/text/mac/TextCodecMac.cpp:
29141        * platform/text/qt/TextCodecQt.cpp:
29142        * platform/text/wx/StringWx.cpp:
29143        * platform/win/ClipboardUtilitiesWin.cpp:
29144        * platform/win/ClipboardWin.cpp:
29145        * platform/win/ContextMenuItemWin.cpp:
29146        * platform/win/ContextMenuWin.cpp:
29147        * platform/win/FileSystemWin.cpp:
29148        * platform/win/GDIObjectCounter.cpp:
29149        * platform/win/Language.cpp:
29150        * platform/win/PasteboardWin.cpp:
29151        * platform/wince/FileSystemWince.cpp:
29152        * platform/wince/KeygenWince.cpp:
29153        * platform/wince/PasteboardWince.cpp:
29154        * platform/wx/FileSystemWx.cpp:
29155        * platform/wx/LoggingWx.cpp:
29156        * plugins/PluginDebug.h:
29157        * plugins/PluginPackage.cpp:
29158        * plugins/PluginStream.cpp:
29159        * plugins/PluginStream.h:
29160        * plugins/PluginView.h:
29161        * plugins/gtk/PluginPackageGtk.cpp:
29162        * plugins/mac/PluginPackageMac.cpp:
29163        * plugins/qt/PluginPackageQt.cpp:
29164        * plugins/symbian/PluginPackageSymbian.cpp:
29165        * plugins/win/PluginPackageWin.cpp:
29166        * rendering/RenderLayer.cpp:
29167        * rendering/RenderLayerCompositor.cpp:
29168        * rendering/RenderTreeAsText.cpp:
29169        * storage/Database.cpp:
29170        * storage/SQLTransactionCoordinator.cpp:
29171        * storage/SQLTransactionCoordinator.h:
29172        * storage/StorageAreaSync.cpp:
29173        * storage/StorageSyncManager.cpp:
29174        * storage/chromium/DatabaseTrackerChromium.cpp:
29175        * storage/chromium/QuotaTracker.cpp:
29176        * storage/chromium/QuotaTracker.h:
29177        * svg/SVGFontFaceElement.cpp:
29178        * svg/SVGStyledElement.cpp:
29179        * svg/SVGUseElement.cpp:
29180        * websockets/WebSocket.cpp:
29181        * websockets/WebSocketChannel.cpp:
29182        * websockets/WebSocketHandshake.cpp:
29183        * wml/WMLErrorHandling.cpp:
29184        * wml/WMLGoElement.cpp:
29185        * wml/WMLPageState.cpp:
29186        * wml/WMLPostfieldElement.cpp:
29187        * wml/WMLSelectElement.cpp:
29188        * xml/XMLHttpRequest.cpp:
29189        * xml/XSLStyleSheetLibxslt.cpp:
29190        * xml/XSLTProcessorLibxslt.cpp:
29191
291922010-03-30  Kent Tamura  <tkent@chromium.org>
29193
29194        Reviewed by Brady Eidson.
29195
29196        REGRESSION (r56439) - Crash when a renderer for a file upload control
29197        with a selected file is recreated
29198        https://bugs.webkit.org/show_bug.cgi?id=36723
29199
29200        RenderFileUploadControl::chooseIconForFiles was called before
29201        m_fileChooser was initialized.
29202
29203        * platform/FileChooser.cpp:
29204        (WebCore::FileChooser::FileChooser): Introduce m_isInitializing flag to
29205          avoid FileChooserClient::repaint() call.
29206        (WebCore::FileChooser::loadIcon):
29207        (WebCore::FileChooser::iconLoaded):
29208        * platform/FileChooser.h: Add a FielChooser parameter to
29209          FileChooserClient::chooseIconForFiles().
29210        * rendering/RenderFileUploadControl.cpp:
29211        (WebCore::RenderFileUploadControl::chooseIconForFiles):
29212        (WebCore::RenderFileUploadControl::paintObject): Add an assertion.
29213        * rendering/RenderFileUploadControl.h:
29214
292152010-03-30  Stanislav Paltis  <Stanislav.Paltis@nokia.com>
29216
29217        Reviewed by Laszlo Gombos.
29218
29219        [Qt] qmake/symbian build failure
29220        https://bugs.webkit.org/show_bug.cgi?id=36745
29221
29222        Fix build break in Symbian build introduced in r56714,
29223        by modifying comment escape character from ";" to "#".
29224
29225        * WebCore.pro:
29226
292272010-03-30  Kevin Ollivier  <kevino@theolliviers.com>
29228
29229        [wx] Build fix after new localized string addition.
29230
29231        * platform/wx/LocalizedStringsWx.cpp:
29232        (WebCore::missingPluginText):
29233
292342010-03-30  Sam Weinig  <sam@webkit.org>
29235
29236        Reviewed by Anders Carlsson.
29237
29238        Add missing export.
29239
29240        * WebCore.base.exp:
29241
292422010-03-30  Enrica Casucci  <enrica@apple.com>
29243
29244        Reviewed by Darin Adler.
29245
29246        Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
29247        <rdar://problem/7810749>
29248        https://bugs.webkit.org/show_bug.cgi?id=36858
29249
29250        Test: fast/text/multiglyph-characters.html
29251
29252        Characters with multiple glyph were not supported correctly.
29253        Computing the advance width was producing a division by zero.
29254        
29255        * platform/graphics/mac/ComplexTextController.cpp:
29256        (WebCore::ComplexTextController::advance):
29257
292582010-03-30  Chris Evans  <cevans@chromium.org>
29259
29260        Reviewed by Adam Barth.
29261
29262        Taint the canvas if an SVG-derived pattern is rendered into it.
29263
29264        https://bugs.webkit.org/show_bug.cgi?id=36838
29265
29266        Test: fast/canvas/svg-taint.html
29267
29268        * html/canvas/CanvasRenderingContext2D.cpp:
29269        (WebCore::CanvasRenderingContext2D::createPattern):
29270          Take into account the image's hasSingleSecurityOrigin() property.
29271
292722010-03-30  Alexey Proskuryakov  <ap@apple.com>
29273
29274        Reviewed by Darin Adler.
29275
29276        https://bugs.webkit.org/show_bug.cgi?id=36616
29277        Dvorak-Qwerty keyboard layout gives unexpected results in javascript keydown
29278
29279        https://bugs.webkit.org/show_bug.cgi?id=36797
29280        For non-Roman layouts, keydown Event.keyCode is always 0
29281
29282        * platform/cocoa/KeyEventCocoa.mm:
29283        (WebCore::windowsKeyCodeForKeyCode): This is now the primary function for determining
29284        Windows key code - there is no reason to round trip a virtual key code via character code to
29285        get Windows virtual key code, and this can't work for non-Roman alphabets.
29286        (WebCore::windowsKeyCodeForCharCode): Removed keys that are now handled in windowsKeyCodeForKeyCode(),
29287        only keeping those for which we don't have known key codes (yet?).
29288
29289        * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Added comments.
29290
292912010-03-30  Marcus Bulach  <bulach@chromium.org>
29292
29293        Reviewed by Darin Fisher.
29294
29295        Rename / tidy up Geolocation bridge
29296        Uses Geoposition instead of individual params for setLastPosition.
29297        https://bugs.webkit.org/show_bug.cgi?id=36535
29298
29299        * platform/chromium/GeolocationServiceChromium.cpp:
29300        (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
29301        (WebCore::GeolocationServiceChromium::setIsAllowed):
29302        (WebCore::GeolocationServiceChromium::setLastPosition):
29303        * platform/chromium/GeolocationServiceChromium.h:
29304
293052010-03-30  Adam Langley  <agl@chromium.org>
29306
29307        Reviewed by David Levin.
29308
29309        [chromium] linux: prefer the "hinting" fontconfig preference.
29310
29311        fontconfig can give contradictory hinting information, setting
29312        "hinting" to zero and "hintstyle" to non-zero. In this case we
29313        should take the "hinting" preference.
29314
29315        https://bugs.webkit.org/show_bug.cgi?id=36602
29316
29317        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
29318        (WebCore::FontPlatformData::setupPaint):
29319
293202010-03-30  Pavel Feldman  <pfeldman@chromium.org>
29321
29322        Reviewed by Timothy Hatcher.
29323
29324        Web Inspector: Copying from the Content tab in Resources includes line numbers.
29325
29326        https://bugs.webkit.org/show_bug.cgi?id=35104
29327
29328        * inspector/front-end/TextViewer.js:
29329        (WebInspector.TextViewer):
29330        (WebInspector.TextViewer.prototype._beforeCopy):
29331        (WebInspector.TextViewer.prototype._copy):
29332
293332010-03-30  Pavel Feldman  <pfeldman@chromium.org>
29334
29335        Reviewed by Timothy Hatcher.
29336
29337        Web Inspector: Do not send empty matching rules for pseudo elements to frontend.
29338
29339        https://bugs.webkit.org/show_bug.cgi?id=36834
29340
29341        * inspector/InspectorDOMAgent.cpp:
29342        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
29343        * inspector/front-end/StylesSidebarPane.js:
29344        (WebInspector.StylesSidebarPane.prototype._update):
29345
293462010-03-30  Dirk Schulze  <krit@webkit.org>
29347
29348        Reviewed by Nikolas Zimmermann.
29349
29350        Cannot animate "points" attribute for <svg:polygon>
29351        https://bugs.webkit.org/show_bug.cgi?id=21371
29352
29353        Add animation support for 'points' on polygons in SVG. 
29354
29355        Test: svg/animations/animate-points.html
29356
29357        * svg/SVGAnimateElement.cpp:
29358        (WebCore::SVGAnimateElement::determinePropertyType):
29359        (WebCore::SVGAnimateElement::calculateAnimatedValue):
29360        (WebCore::SVGAnimateElement::calculateFromAndToValues):
29361        (WebCore::SVGAnimateElement::resetToBaseValue):
29362        (WebCore::SVGAnimateElement::applyResultsToTarget):
29363        * svg/SVGAnimateElement.h:
29364        (WebCore::SVGAnimateElement::): added PropertyType PointsProperty
29365        * svg/SVGPointList.cpp:
29366        (WebCore::blendFunc):
29367        (WebCore::SVGPointList::createAnimated): calculates animated PointList
29368        * svg/SVGPointList.h:
29369
293702010-03-30  Alexander Pavlov  <apavlov@chromium.org>
29371
29372        Reviewed by Pavel Feldman.
29373
29374        Web Inspector: Audits: bad CSS selector results in exception inside evaluated code
29375        https://bugs.webkit.org/show_bug.cgi?id=36821
29376
29377        * inspector/front-end/AuditRules.js:
29378        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
29379        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
29380
293812010-03-29  Janne Koskinen  <janne.p.koskinen@digia.com>
29382
29383        Reviewed by Simon Hausmann.
29384
29385        [Qt] Package build fixes for Symbian
29386
29387        * enable building standalone QtWebkit for Symbian using qtlibinfix configuration option
29388
29389        qtlibinfix adds possibility having multiple versions of Qt in Symbian devices.
29390        Fix also allows unfrozen DLL exports during development.
29391
29392        * Removed heap size configuration. DLLs don't have a heap.
29393
29394        * Removed enforcement to def files for package builds. Instead inherit the setting from
29395        Qt's qconfig.pri whether to use def files or not. It's still possible to override this
29396        also at qmake time by passing CONFIG+=def_files.
29397
29398        * WebCore.pro:
29399
294002010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
29401
29402        Reviewed by Pavel Feldman.
29403
29404        Web Inspector: Title for show/hide short records button was adjusted.
29405        Some unused code was removed.
29406        https://bugs.webkit.org/show_bug.cgi?id=36823
29407
29408        * inspector/front-end/TimelinePanel.js:
29409        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
29410        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
29411        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
29412
294132010-03-30  Adam Roben  <aroben@apple.com>
29414
29415        Enable extra Direct3D debugging information in Debug builds
29416
29417        This makes it easier to track down memory leaks and misuses of the D3D
29418        APIs in Debug builds.
29419
29420        Fixes <http://webkit.org/b/36820>
29421
29422        Reviewed by John Sullivan.
29423
29424        * platform/graphics/win/WKCACFLayerRenderer.cpp: Define D3D_DEBUG_INFO
29425        in Debug builds before #including d3d9.h so that extra D3D debugging
29426        information will be enabled.
29427
294282010-03-30  Luiz Agostini  <luiz.agostini@openbossa.org>
29429
29430        Reviewed by Kenneth Rohde Christiansen.
29431
29432        [Qt] Maemo5 theme - QtMaemoWebPopup class
29433        https://bugs.webkit.org/show_bug.cgi?id=36790
29434
29435        Moving maemo5 theme related code from WebCore.pri to WebCore.pro and adding
29436        new maemo menu lists popup class source and header to the project.
29437
29438        The code was in .pri file because of a theme css that was conditionally included.
29439        As the css file is been included unconditionally there is no need to this
29440        code to be kept in webcore.pri.
29441
29442        * WebCore.pri:
29443        * WebCore.pro:
29444
294452010-03-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
29446
29447        Reviewed by David Kilzer.
29448
29449        Guard Geolocation files with ENABLE_GEOLOCATION
29450        https://bugs.webkit.org/show_bug.cgi?id=25756
29451
29452        The intent is to guard the Geolocation implementation files 
29453        and minimize the impact on on clients/call sites.
29454
29455        * DerivedSources.make:
29456        * WebCore.Geolocation.exp: Added. Exported interfaces if GEOLOCATION
29457        is enabled.
29458        * WebCore.base.exp:
29459        * bindings/js/JSCustomPositionCallback.cpp:
29460        * bindings/js/JSCustomPositionErrorCallback.cpp:
29461        * bindings/js/JSGeolocationCustom.cpp:
29462        * page/Geolocation.cpp:
29463        (WebCore::Geolocation::disconnectFrame): Stub implementation if
29464        GEOLOCATION is turned off.
29465        (WebCore::Geolocation::Geolocation): Ditto.
29466        (WebCore::Geolocation::~Geolocation): Ditto.
29467        (WebCore::Geolocation::setIsAllowed): Ditto.
29468        * page/Geolocation.h: 
29469        * page/Geolocation.idl:
29470        * page/GeolocationPositionCache.cpp:
29471        * page/Geoposition.idl:
29472        * page/PositionError.idl:
29473        * platform/GeolocationService.cpp:
29474        * platform/mock/GeolocationServiceMock.cpp:
29475
294762010-03-30  Andrey Kosyakov  <caseq@chromium.org>
29477
29478        Reviewed by Pavel Feldman.
29479
29480        Support EventTarget interface in fake workers (both for Worker object
29481        and WorkerContext). Use MessagePort to implement message passing to
29482        support passing ports in PostMessage.
29483        https://bugs.webkit.org/show_bug.cgi?id=36763
29484
29485        * inspector/front-end/InjectedFakeWorker.js:
29486        (InjectedFakeWorker.Worker.onmessageGetter):
29487        (InjectedFakeWorker.Worker.onmessageSetter):
29488        (InjectedFakeWorker.Worker):
29489        (InjectedFakeWorker.FakeWorker):
29490        (InjectedFakeWorker.FakeWorker.prototype.postMessage):
29491        (InjectedFakeWorker.FakeWorker.prototype.terminate):
29492        (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
29493        (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageGetter):
29494        (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.onmessageSetter):
29495        (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
29496        (InjectedFakeWorker.FakeWorker.prototype._addEventListener):
29497        (InjectedFakeWorker.FakeWorker.prototype._removeEventListener):
29498        (InjectedFakeWorker.FakeWorker.prototype._callbackWrapper):
29499        (InjectedFakeWorker.FakeWorker.prototype._handleException):
29500
295012010-03-30  Kristian Monsen  <kristianm@google.com>
29502
29503        Reviewed by David Levin.
29504
29505        [v8] Add if ENABLE guard for Worker specific code.
29506        https://bugs.webkit.org/show_bug.cgi?id=36597
29507
29508        Build fix only, no new tests.
29509
29510        * bindings/v8/V8DOMWrapper.h:
29511
295122010-03-29  Jeremy Orlow  <jorlow@chromium.org>
29513
29514        Reviewed by Darin Fisher.
29515
29516        More IndexedDB work
29517        https://bugs.webkit.org/show_bug.cgi?id=36770
29518
29519        Add the "singleton" IndexedDatabase object to PageGroup
29520        IndexedDatabase now has a create() method since PageGroup can own the instance (at least for now)
29521        Rip out the IDBRequest stuff (now obsolete).
29522        DOMWindow now can instantiate indexedDatabase objects on demand.
29523
29524        New layout tests starting with the next patch (which should make indexedDB.open() "work").
29525
29526        * WebCore.gypi:
29527        * bindings/v8/custom/V8IDBRequestCustom.cpp: Removed.
29528        * page/DOMWindow.cpp:
29529        (WebCore::DOMWindow::indexedDB):
29530        * page/DOMWindow.h:
29531        * page/PageGroup.cpp:
29532        (WebCore::PageGroup::indexedDatabase):
29533        * page/PageGroup.h:
29534        * storage/IDBDatabase.cpp:
29535        * storage/IDBDatabaseRequest.h:
29536        (WebCore::IDBDatabaseRequest::createObjectStore):
29537        * storage/IDBDatabaseRequest.idl:
29538        * storage/IDBRequest.cpp: Removed.
29539        * storage/IDBRequest.h: Removed.
29540        * storage/IDBRequest.idl: Removed.
29541        * storage/IndexedDatabase.cpp:
29542        (WebCore::IndexedDatabase::create):
29543        * storage/IndexedDatabase.h:
29544        * storage/IndexedDatabaseImpl.cpp:
29545        (WebCore::IndexedDatabaseImpl::create):
29546        (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
29547        (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
29548        * storage/IndexedDatabaseImpl.h:
29549        * storage/IndexedDatabaseRequest.cpp:
29550        (WebCore::IndexedDatabaseRequest::IndexedDatabaseRequest):
29551        * storage/IndexedDatabaseRequest.h:
29552        (WebCore::IndexedDatabaseRequest::create):
29553        * storage/IndexedDatabaseRequest.idl:
29554        * storage/chromium/IndexedDatabase.cpp:
29555        (WebCore::IndexedDatabase::create):
29556
295572010-03-30  Dirk Schulze  <krit@webkit.org>
29558
29559        Reviewed by Nikolas Zimmermann.
29560
29561        SVG Glyph transformations wrong on use of SVGFont
29562        https://bugs.webkit.org/show_bug.cgi?id=36731
29563
29564        Kerning on SVGFonts should be applied to the userSpace of the current Char
29565        and not to the userSpace of the viewport. This means scaling the kerning
29566        to match the current userSpace.
29567
29568        Test: svg/custom/glyph-transformation-with-hkern.svg
29569
29570        * rendering/SVGRootInlineBox.cpp:
29571        (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
29572
295732010-03-30  Dirk Schulze  <krit@webkit.org>
29574
29575        Reviewed by Nikolas Zimmermann.
29576
29577        SVG Animation doesn't respect 'currentColor'
29578        https://bugs.webkit.org/show_bug.cgi?id=36695
29579
29580        Test: svg/custom/animation-currentColor.svg
29581
29582        SVG Animation can't handle currentColor at the moment. This patch catches the
29583        color value of the target element and replaces 'currentColor' with it's color string.
29584
29585        * svg/SVGAnimationElement.cpp:
29586        (WebCore::adjustForCurrentColor):
29587        (WebCore::SVGAnimationElement::startedActiveInterval):
29588
295892010-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
29590
29591        Reviewed by Pavel Feldman.
29592
29593        Web Inspector: Visible/captured records counter should be implemented in Timeline panel.
29594        https://bugs.webkit.org/show_bug.cgi?id=36708
29595
29596        * English.lproj/localizedStrings.js:
29597        * inspector/front-end/TimelinePanel.js:
29598        (WebInspector.TimelinePanel.prototype.get statusBarItems):
29599        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
29600        (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
29601        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
29602        (WebInspector.TimelinePanel.prototype._createRootRecord):
29603        (WebInspector.TimelinePanel.prototype._refresh):
29604        (WebInspector.TimelinePanel.prototype._filterRecords):
29605        * inspector/front-end/inspector.css:
29606        (.timeline-records-counter):
29607
296082010-03-30  Philippe Normand  <pnormand@igalia.com>
29609
29610        [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
29611        https://bugs.webkit.org/show_bug.cgi?id=36653
29612
29613        Unreviewed, don't define the bool variable with
29614        DEFINE_STATIC_LOCAL, it makes sense only for objects which have a
29615        destructor. Thanks to Dan Bernstein for spotting this.
29616
29617        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
29618        (WebCore::mimeTypeCache):
29619
296202010-03-29  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
29621
29622        Reviewed by Eric Seidel.
29623
29624        There is a build break due to the disabled() when wml feature is
29625        enabled. This break comes from the Bug 35056 - Disabled menu options
29626        are still submitted.(https://bugs.webkit.org/show_bug.cgi?id=35056)
29627        The WMLOptionElement.h needs to define the disabled() as well.
29628        And, there is an additional break due to Bug 36177 -  Multiselect Popup
29629        - Listbox click simulation. (https://bugs.webkit.org/show_bug.cgi?id=36177)
29630        virtual void listBoxSelectItem() should be added to WMLSelectElement.h as well.
29631
29632        https://bugs.webkit.org/show_bug.cgi?id=36698
29633
29634        * wml/WMLOptionElement.h:
29635        (WebCore::WMLOptionElement::disabled):
29636        * wml/WMLSelectElement.h:
29637        (WebCore::WMLSelectElement::listBoxSelectItem):
29638
296392010-03-29  Shinichiro Hamaji  <hamaji@chromium.org>
29640
29641        Reviewed by David Hyatt.
29642
29643        No vertical scrollbar after the CSS class change
29644        https://bugs.webkit.org/show_bug.cgi?id=36461
29645
29646        Don't suppress scrollbar change for non-first layouts.
29647        In the first layout, the scrollbar change will happen in later
29648        adjustViewSize() call, but in other layouts, adjustViewSize() may
29649        not be called when the size of contents doesn't change.
29650
29651        * page/FrameView.cpp:
29652        (WebCore::FrameView::layout):
29653
296542010-03-29  Chris Evans  <cevans@chromium.org>
29655
29656        Reviewed by Adam Barth.
29657
29658        Don't use unique domains for file:// separation: it breaks local
29659        databases, and access to your own same-origin iframes. Instead, use
29660        path-based access checks.
29661
29662        https://bugs.webkit.org/show_bug.cgi?id=36692
29663
29664        Test: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
29665
29666        * dom/Document.cpp:
29667        (WebCore::Document::initSecurityContext): renamed API.
29668        * page/SecurityOrigin.h:
29669        * page/SecurityOrigin.cpp:
29670        (WebCore::SecurityOrigin::SecurityOrigin):
29671          Initialize new flag. Take note of file:// path.
29672          Copy new fields in copy constructor.
29673        (WebCore::SecurityOrigin::canAccess):
29674          Take into account path-based origin separation for file://
29675        (WebCore::SecurityOrigin::enforceFilePathSeparation):
29676          New method to enable file:// path origin separation.
29677        (WebCore::SecurityOrigin::toString):
29678          Return a null domain for an isolated file origin.
29679        (WebCore::SecurityOrigin::isSameSchemeHostPort):
29680          Take into account path-based origin separation for file://
29681        (WebCore::SecurityOrigin::passesFileCheck):
29682          Abstraction of common logic for file:// access checks.
29683
296842010-03-29  Rafael Weinstein  <rafaelw@chromium.org>
29685
29686        Reviewed by Adam Barth.
29687
29688        Change NotificationPresenter::checkPermission() to take the source frames full KURL,
29689        rather than its SecurityOrigin. This will aid chromium in having more fine grained
29690        permissions to control notification spam.
29691
29692        * notifications/Notification.cpp:
29693        (WebCore::Notification::Notification):
29694        * notifications/NotificationCenter.cpp:
29695        (WebCore::NotificationCenter::checkPermission):
29696        * notifications/NotificationPresenter.h:
29697
296982010-03-29  Luiz Agostini  <luiz.agostini@openbossa.org>
29699
29700        Reviewed by Kenneth Rohde Christiansen.
29701
29702        [Qt] Multiselect - Adding method itemIsSelected() to QtAbstractWebPopup
29703        https://bugs.webkit.org/show_bug.cgi?id=36769
29704
29705        Adding method itemIsSelected() to QtAbstractWebPopup.
29706
29707        * platform/qt/QtAbstractWebPopup.h:
29708        (WebCore::QtAbstractWebPopup::itemIsSelected):
29709
297102010-03-29  Dawit Alemayehu  <adawit@kde.org>
29711
29712        Reviewed by Simon Hausmann.
29713
29714        Added a function, WebCore::shouldTreatAsAttachment, to HTTPParsers.*
29715
29716        https://bugs.webkit.org/show_bug.cgi?id=36395
29717
29718        This function, which was moved from WebKit/chromium/src/FrameClientImpl.cpp,
29719        is used to check whether or not a request is supposed to be rendered or
29720        simply downloaded based on the "Content-Disposition" header sent by the
29721        web server. The intent of code refactoring is to avoid code duplication
29722        so that this piece of code can be used by other implementations such as
29723        QtWebKit.
29724
29725        * platform/network/HTTPParsers.cpp:
29726        (WebCore::shouldTreatAsAttachment):
29727        * platform/network/HTTPParsers.h:
29728
297292010-03-29  Chris Fleizach  <cfleizach@apple.com>
29730
29731        Reviewed by Beth Dakin.
29732
29733        Bug 36735 - Live regions don't send out notifications when the element changing is the live region
29734        https://bugs.webkit.org/show_bug.cgi?id=36735
29735
29736        Test: platform/mac/accessibility/aria-liveregion-on-image.html
29737
29738        * accessibility/AccessibilityRenderObject.cpp:
29739        (WebCore::AccessibilityRenderObject::contentChanged):
29740
297412010-03-29  Stephen White  <senorblanco@chromium.org>
29742
29743        Reviewed by Dave Hyatt.
29744
29745        In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
29746        this CL caches the String result.  When m_value is changed, the
29747        cached string is cleared.  This gives a good speedup on benchmarks
29748        which do a lot of CSS property gets, such as Peacekeeper.
29749        The processing cost should be negligible, since the strings are 
29750        refcounted.  The memory cost is an additional 4 bytes per
29751        CSSPrimitiveValue, and the extended lifetime of the computed string
29752        (potentially, the same as the lifetime of the CSSPrimitiveValue).
29753
29754        https://bugs.webkit.org/show_bug.cgi?id=36556
29755
29756        Covered by fast/css/cssText-cache.html, and more.
29757
29758        * css/CSSPrimitiveValue.cpp:
29759        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
29760        (WebCore::CSSPrimitiveValue::cleanup):
29761        (WebCore::CSSPrimitiveValue::cssText):
29762        * css/CSSPrimitiveValue.h:
29763
297642010-03-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29765
29766        Reviewed by Simon Fraser.
29767
29768        Add support for Widgets 1.0: View Mode Media Feature
29769        https://bugs.webkit.org/show_bug.cgi?id=35446
29770
29771        When enabling Web Widgets, add support for the view-mode media
29772        feature (http://www.w3.org/TR/widgets-vmmf/).
29773
29774        Test: fast/media/media-feature-wgt-view-mode.html
29775
29776        * css/CSSValueKeywords.in:
29777        * css/MediaFeatureNames.h:
29778        * css/MediaQueryEvaluator.cpp:
29779        (WebCore::view_modeMediaFeatureEval):
29780        * page/ChromeClient.h:
29781        (WebCore::ChromeClient::isDocked):
29782        (WebCore::ChromeClient::isFloating):
29783        (WebCore::ChromeClient::isApplication):
29784        (WebCore::ChromeClient::isFullscreen):
29785
297862010-03-29  Kenneth Russell  <kbr@google.com>
29787
29788        Reviewed by Darin Fisher.
29789
29790        Eliminate use of GL_BGRA in GraphicsContext3DSkia.cpp
29791        https://bugs.webkit.org/show_bug.cgi?id=36737
29792
29793        No new tests; ran WebGL demos in Chromium on Windows to verify fix.
29794
29795        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
29796        (WebCore::GraphicsContext3D::getImageData):
29797
297982010-03-29  Alexander Pavlov  <apavlov@chromium.org>
29799
29800        Reviewed by Pavel Feldman.
29801
29802        Web Inspector: Cover the Audits panel with tests
29803        https://bugs.webkit.org/show_bug.cgi?id=36613
29804
29805        Sort results, add a few drive-by fixes and refactorings to improve testability.
29806
29807        Test: inspector/audits-panel-functional.html
29808
29809        * English.lproj/localizedStrings.js:
29810        * inspector/front-end/AuditResultView.js:
29811        (WebInspector.AuditResultView):
29812        (WebInspector.AuditCategoryResultPane.ruleSorter):
29813        (WebInspector.AuditCategoryResultPane):
29814        * inspector/front-end/AuditRules.js:
29815        (WebInspector.AuditRules.GzipRule.prototype.doRun):
29816        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
29817        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
29818        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
29819        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
29820        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
29821        * inspector/front-end/AuditsPanel.js:
29822        (WebInspector.AuditRuleResult.linkifyDisplayName):
29823        (WebInspector.AuditRuleResult.resourceDomain):
29824        (WebInspector.AuditRuleResult.prototype.addURL):
29825        * inspector/front-end/inspector.js:
29826        (WebInspector.displayNameForURL):
29827
298282010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29829
29830        Reviewed by nobody, build fix.
29831
29832        [Qt] Fix build break introduced in r56724.
29833
29834        * WebCore.pro:
29835
298362010-03-29  Alexander Pavlov  <apavlov@chromium.org>
29837
29838        Reviewed by Pavel Feldman.
29839
29840        Web Inspector should highlight when clicking a node's closing tag
29841        https://bugs.webkit.org/show_bug.cgi?id=16258
29842
29843        * inspector/front-end/ElementsTreeOutline.js:
29844        (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
29845        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
29846        (WebInspector.ElementsTreeOutline.prototype._keyDown):
29847        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
29848        (WebInspector.ElementsTreeElement):
29849        (WebInspector.ElementsTreeElement.prototype.showChild):
29850        (WebInspector.ElementsTreeElement.prototype.onpopulate):
29851        (WebInspector.ElementsTreeElement.prototype.updateChildren):
29852        (WebInspector.ElementsTreeElement.prototype.insertChildElement):
29853        (WebInspector.ElementsTreeElement.prototype.moveChild):
29854        (WebInspector.ElementsTreeElement.prototype._updateChildren):
29855        (WebInspector.ElementsTreeElement.prototype.onexpand):
29856        (WebInspector.ElementsTreeElement.prototype.oncollapse):
29857        (WebInspector.ElementsTreeElement.prototype.onselect):
29858        (WebInspector.ElementsTreeElement.prototype.ondblclick):
29859        ():
29860
298612010-03-29  Marcus Bulach  <bulach@chromium.org>
29862
29863        Reviewed by Jeremy Orlow.
29864
29865        https://bugs.webkit.org/show_bug.cgi?id=36315
29866
29867        Remove obsolete Geolocation::m_currentPosition
29868        (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)
29869
29870        * page/Geolocation.cpp:
29871        (WebCore::Geolocation::positionChanged):
29872        (WebCore::Geolocation::makeSuccessCallbacks):
29873        * page/Geolocation.h:
29874        * platform/chromium/GeolocationServiceChromium.cpp:
29875        (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):
29876
298772010-03-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29878
29879        Reviewed by Simon Hausmann.
29880
29881        [Qt] Do not generate INSTALLS for webkit when building inside Qt.
29882        Qt will do this for us.
29883
29884        * WebCore.pro:
29885
298862010-03-29  Antti Koivisto  <koivisto@iki.fi>
29887
29888        Reviewed by Kenneth Rohde Christiansen.
29889
29890        https://bugs.webkit.org/show_bug.cgi?id=36703
29891        Timer restart loop during page loading
29892        
29893        Fix regression introduced in http://trac.webkit.org/changeset/54526. 
29894        Restarting the request timer unconditionally from the timer callback is a bad idea. 
29895        Instead, start the timer when a non-cached request completes.
29896
29897        * loader/loader.cpp:
29898        (WebCore::Loader::Host::nonCacheRequestComplete):
29899        (WebCore::Loader::Host::servePendingRequests):
29900
299012010-03-29  Thomas Zander  <t.zander@nokia.com>
29902
29903        Reviewed by Simon Hausmann.
29904
29905        [Qt] Shadowbuilds of WebCore with Qt on Symbian fails.
29906
29907        https://bugs.webkit.org/show_bug.cgi?id=36749
29908
29909        Doing a 'make sis' expects the dll in the libdir, so place it
29910        there. This fixes out-of-source building to always put the dll
29911        in the expected dir.
29912
29913        * WebCore.pro: Fix for shadow builds inside Qt.
29914
299152010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29916
29917        Reviewed by Antti Koivisto.
29918
29919        Implement flattening for iframes.
29920
29921        Refactoring of frameset flattening code to reuse it for
29922        iframe flattening.
29923
29924        Tests: fast/frames/flattening/iframe-flattening-simple.html
29925
29926        * WebCore.base.exp:
29927        * page/FrameView.cpp:
29928        (WebCore::FrameView::layout):
29929        (WebCore::FrameView::scheduleRelayout):
29930        * page/Settings.cpp:
29931        (WebCore::Settings::Settings):
29932        (WebCore::Settings::setFrameFlatteningEnabled):
29933        * page/Settings.h:
29934        (WebCore::Settings::frameFlatteningEnabled):
29935        * rendering/RenderFrame.cpp:
29936        * rendering/RenderFrame.h:
29937        * rendering/RenderFrameSet.cpp:
29938        (WebCore::RenderFrameSet::flattenFrameSet):
29939        * rendering/RenderFrameSet.h:
29940        * rendering/RenderPart.cpp:
29941        (WebCore::RenderPart::layoutWithFlattening):
29942        * rendering/RenderPart.h:
29943        * rendering/RenderPartObject.cpp:
29944        (WebCore::RenderPartObject::flattenFrame):
29945        (WebCore::RenderPartObject::calcHeight):
29946        (WebCore::RenderPartObject::calcWidth):
29947        (WebCore::RenderPartObject::layout):
29948        * rendering/RenderPartObject.h:
29949
299502010-03-29  Andrei Popescu  <andreip@google.com>
29951
29952        Reviewed by Adam Barth.
29953
29954        Page Cache does not work on Android with V8
29955        https://bugs.webkit.org/show_bug.cgi?id=36665
29956
29957        No new tests, existing tests should suffice, this is platform code.
29958
29959        This implementation simply saves the context and the global object
29960        just before the frame is navigated to a new url. At restore time,
29961        the global object is reattached to the context and the context
29962        is attached to the window shell of the frame.
29963
29964        Note that isolated worlds are not taken into account in any way,
29965        as Android does not use them.
29966
29967        * bindings/v8/ScriptCachedFrameData.cpp: Added.
29968        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
29969        (WebCore::ScriptCachedFrameData::domWindow):
29970        (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
29971        (WebCore::ScriptCachedFrameData::restore):
29972        (WebCore::ScriptCachedFrameData::clear):
29973        * bindings/v8/ScriptCachedFrameData.h:
29974        * bindings/v8/V8DOMWindowShell.cpp:
29975        (WebCore::V8DOMWindowShell::setContext):
29976        * bindings/v8/V8DOMWindowShell.h:
29977
299782010-03-29  Thomas Zander  <t.zander@nokia.com>
29979
29980        Reviewed by Simon Hausmann.
29981
29982        [Qt] Make it possible to build using both Windows and Linux for Symbian
29983        https://bugs.webkit.org/show_bug.cgi?id=36748
29984
29985        * WebCore.pro: don't assume Windows buildsystem is the only one
29986        and exclude the windows-only setters from the linux builds.
29987
299882010-03-29  Thomas Zander  <t.zander@nokia.com>
29989
29990        Reviewed by Simon Hausmann.
29991
29992        https://bugs.webkit.org/show_bug.cgi?id=36745
29993
29994        [Qt] Fix def file builds with Qt 4.7.
29995
29996        Switched to using DEF_FILE, which is the official variable.
29997
29998        * WebCore.pro: Use DEF_FILE
29999
300002010-03-24  Jeremy Orlow  <jorlow@chromium.org>
30001
30002        Reviewed by Darin Fisher.
30003
30004        A few more steps towards IndexedDB
30005        https://bugs.webkit.org/show_bug.cgi?id=36546
30006
30007        Add a callback interface to be used by all async methods.
30008        Add the first fragments of IDBDatabase.
30009        Clean up on IDBDatabaseError.
30010        Flesh out IndexedDatabase further.
30011
30012        Not enough hooked up yet to test.  Soon though...
30013
30014        * WebCore.gypi:
30015        * storage/IDBCallbacks.h: Added.
30016        (WebCore::IDBCallbacks::~IDBCallbacks):
30017        * storage/IDBDatabase.cpp: Added.
30018        * storage/IDBDatabase.h: Added.
30019        (WebCore::IDBDatabase::~IDBDatabase):
30020        * storage/IDBDatabaseError.h:
30021        (WebCore::IDBDatabaseError::create):
30022        (WebCore::IDBDatabaseError::message):
30023        (WebCore::IDBDatabaseError::IDBDatabaseError):
30024        * storage/IndexedDatabase.h:
30025        * storage/IndexedDatabaseImpl.cpp:
30026        (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
30027        (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
30028        (WebCore::IndexedDatabaseImpl::open):
30029        * storage/IndexedDatabaseImpl.h:
30030        * storage/IndexedDatabaseRequest.cpp:
30031        (WebCore::IndexedDatabaseRequest::open):
30032
300332010-03-29  Mikhail Naganov  <mnaganov@chromium.org>
30034
30035        Reviewed by Pavel Feldman.
30036
30037        Remove a possibility of confusion from Profiles panel Welcome screen
30038        by turning buttons into non-clickable glyphs. Also, span instructions
30039        alongside panel width.
30040
30041        https://bugs.webkit.org/show_bug.cgi?id=34319
30042
30043        * English.lproj/localizedStrings.js:
30044        * inspector/front-end/ProfileView.js:
30045        (WebInspector.CPUProfileType.prototype.get welcomeMessage):
30046        * inspector/front-end/ProfilesPanel.js:
30047        (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
30048        * inspector/front-end/inspector.css:
30049        (.panel-enabler-view.welcome .instructions):
30050        (.panel-enabler-view.welcome button.status-bar-item):
30051
300522010-03-26  Philippe Normand  <pnormand@igalia.com>
30053
30054        Reviewed by Eric Seidel.
30055
30056        [GStreamer] define static variables with DEFINE_STATIC_LOCAL macro
30057        https://bugs.webkit.org/show_bug.cgi?id=36653
30058
30059        Defined the static variables using DEFINE_STATIC_GLOBAL.
30060
30061        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30062        (WebCore::mimeTypeCache):
30063
300642010-03-26  Philippe Normand  <pnormand@igalia.com>
30065
30066        Reviewed by Eric Seidel.
30067
30068        [GStreamer] player header cleanups
30069        https://bugs.webkit.org/show_bug.cgi?id=36656
30070
30071        Destructor made private and added missing
30072        mediaPlayerPrivateMuteChangedCallback declaration.
30073
30074        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
30075
300762010-03-29  Yury Semikhatsky  <yurys@chromium.org>
30077
30078        Reviewed by Pavel Feldman.
30079
30080        Protect global object from being GC'ed if there are messages written to console from the iframe with that global object.
30081
30082        Whent serializing objects in the injected script check that global object properties are still defined before using them as arguments. The may become undefined if owning frame navigated to a different domain.
30083
30084        https://bugs.webkit.org/show_bug.cgi?id=36612
30085
30086        Test: http/tests/inspector-enabled/console-log-before-frame-navigation.html
30087
30088        * bindings/js/ScriptState.h:
30089        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
30090        (WebCore::ScriptStateProtectedPtr::get):
30091        * bindings/v8/ScriptState.h:
30092        (WebCore::ScriptStateProtectedPtr::ScriptStateProtectedPtr):
30093        (WebCore::ScriptStateProtectedPtr::~ScriptStateProtectedPtr):
30094        (WebCore::ScriptStateProtectedPtr::get):
30095        * inspector/ConsoleMessage.cpp:
30096        (WebCore::ConsoleMessage::addToFrontend):
30097        * inspector/ConsoleMessage.h:
30098        * inspector/front-end/InjectedScript.js:
30099        (injectedScriptConstructor):
30100        (injectedScriptConstructor.):
30101
301022010-03-26  Philippe Normand  <pnormand@igalia.com>
30103
30104        Reviewed by Eric Carlson.
30105
30106        It should be possible to use GStreamer in addition to another media engine
30107        https://bugs.webkit.org/show_bug.cgi?id=36654
30108
30109        Renamed gstreamer player and added a WTF_USE_GSTREAMER
30110        define. Made the MediaPlayer register the GStreamer backend only
30111        if it's enabled (true by default on WebKitGTK+).
30112
30113        * GNUmakefile.am:
30114        * platform/graphics/MediaPlayer.cpp:
30115        (WebCore::installedMediaEngines):
30116        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
30117        (WebCore::mediaPlayerPrivateMessageCallback):
30118        (WebCore::mediaPlayerPrivateSourceChangedCallback):
30119        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
30120        (WebCore::mediaPlayerPrivateMuteChangedCallback):
30121        (WebCore::mediaPlayerPrivateRepaintCallback):
30122        (WebCore::MediaPlayerPrivateGStreamer::create):
30123        (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
30124        (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
30125        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
30126        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
30127        (WebCore::MediaPlayerPrivateGStreamer::load):
30128        (WebCore::MediaPlayerPrivateGStreamer::commitLoad):
30129        (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
30130        (WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
30131        (WebCore::MediaPlayerPrivateGStreamer::play):
30132        (WebCore::MediaPlayerPrivateGStreamer::pause):
30133        (WebCore::MediaPlayerPrivateGStreamer::duration):
30134        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
30135        (WebCore::MediaPlayerPrivateGStreamer::seek):
30136        (WebCore::MediaPlayerPrivateGStreamer::startEndPointTimerIfNeeded):
30137        (WebCore::MediaPlayerPrivateGStreamer::cancelSeek):
30138        (WebCore::MediaPlayerPrivateGStreamer::endPointTimerFired):
30139        (WebCore::MediaPlayerPrivateGStreamer::paused):
30140        (WebCore::MediaPlayerPrivateGStreamer::seeking):
30141        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
30142        (WebCore::MediaPlayerPrivateGStreamer::hasVideo):
30143        (WebCore::MediaPlayerPrivateGStreamer::hasAudio):
30144        (WebCore::MediaPlayerPrivateGStreamer::setVolume):
30145        (WebCore::MediaPlayerPrivateGStreamer::volumeChangedTimerFired):
30146        (WebCore::MediaPlayerPrivateGStreamer::volumeChanged):
30147        (WebCore::MediaPlayerPrivateGStreamer::setRate):
30148        (WebCore::MediaPlayerPrivateGStreamer::networkState):
30149        (WebCore::MediaPlayerPrivateGStreamer::readyState):
30150        (WebCore::MediaPlayerPrivateGStreamer::buffered):
30151        (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
30152        (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
30153        (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
30154        (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
30155        (WebCore::MediaPlayerPrivateGStreamer::bytesLoaded):
30156        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
30157        (WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
30158        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
30159        (WebCore::MediaPlayerPrivateGStreamer::mediaLocationChanged):
30160        (WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
30161        (WebCore::MediaPlayerPrivateGStreamer::loadStateChanged):
30162        (WebCore::MediaPlayerPrivateGStreamer::sizeChanged):
30163        (WebCore::MediaPlayerPrivateGStreamer::timeChanged):
30164        (WebCore::MediaPlayerPrivateGStreamer::didEnd):
30165        (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
30166        (WebCore::MediaPlayerPrivateGStreamer::supportsMuting):
30167        (WebCore::MediaPlayerPrivateGStreamer::setMuted):
30168        (WebCore::MediaPlayerPrivateGStreamer::muteChangedTimerFired):
30169        (WebCore::MediaPlayerPrivateGStreamer::muteChanged):
30170        (WebCore::MediaPlayerPrivateGStreamer::loadingFailed):
30171        (WebCore::MediaPlayerPrivateGStreamer::setSize):
30172        (WebCore::MediaPlayerPrivateGStreamer::setVisible):
30173        (WebCore::MediaPlayerPrivateGStreamer::repaint):
30174        (WebCore::MediaPlayerPrivateGStreamer::paint):
30175        (WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes):
30176        (WebCore::MediaPlayerPrivateGStreamer::supportsType):
30177        (WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
30178        (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
30179        (WebCore::MediaPlayerPrivateGStreamer::setPreload):
30180        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
30181        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
30182
301832010-03-28  Alexey Proskuryakov  <ap@apple.com>
30184
30185        Reviewed by Sam Weinig.
30186
30187        https://bugs.webkit.org/show_bug.cgi?id=36733
30188        Use a common header for Windows virtual key codes on all platforms
30189
30190        No change in functionality, so no new tests.
30191
30192        * platform/WindowsKeyboardCodes.h: Added. Define VK_* key codes as macros, matching Windows.
30193
30194        * platform/KeyboardCodes.h: Removed.
30195        * platform/android/KeyboardCodes.h: Removed.
30196        * platform/chromium/KeyboardCodesPosix.h: Removed.
30197        * platform/chromium/KeyboardCodesWin.h: Removed.
30198        * platform/haiku/KeyboardCodes.h: Removed.
30199        * platform/wx/KeyboardCodes.h: Removed.
30200        Removed platform specific attempts to do the same thing. In fact, platform/KeyboardCodes.h
30201        was supposed to be cross-platform, but it didn't have a sufficiently descriptive name, and
30202        its name was the same as platform-specific versions, so I chose a new one.
30203
30204        * platform/chromium/KeyboardCodes.h: Copied from WebCore/platform/chromium/KeyboardCodesWin.h.
30205        Chromium redefines Windows constants to different names; keeping the header doing that to
30206        avoid breaking Chromium code.
30207
30208        * GNUmakefile.am:
30209        * WebCore.gypi:
30210        Replaced KeyboardCodes.h with WindowsKeyboardCodes.h.
30211
30212        * WebCore.xcodeproj/project.pbxproj:
30213        * platform/cocoa/KeyEventCocoa.mm:
30214        (WebCore::windowsKeyCodeForKeyCode):
30215        (WebCore::windowsKeyCodeForCharCode):
30216        Mac used to hardcode the key codes; changed to use VK_* macros.
30217
30218        * config.h: Removed a hack to include KeyboardCodes.h, it shouldn't be necessary any more.
30219
30220        * platform/android/KeyEventAndroid.cpp:
30221        * platform/brew/PlatformKeyboardEventBrew.cpp:
30222        * platform/efl/PlatformKeyboardEventEfl.cpp:
30223        * platform/gtk/KeyEventGtk.cpp:
30224        * platform/haiku/PlatformKeyboardEventHaiku.cpp:
30225        * platform/qt/PlatformKeyboardEventQt.cpp:
30226        * platform/wx/KeyboardEventWx.cpp:
30227        Changed to include WindowsKeyboardCodes.h.
30228
302292010-03-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30230
30231        Reviewed by Simon Hausmann.
30232
30233        [Qt] Remove the definition of WTF_CHANGES guards from the build system
30234        https://bugs.webkit.org/show_bug.cgi?id=31670
30235
30236        No new tests as there is no new functionality.
30237
30238        * WebCore.pri: Remove the definition of WTF_CHANGES
30239        as it is already defined in config.h
30240
302412010-03-28  Sam Weinig  <sam@webkit.org>
30242
30243        Reviewed by Dan Bernstein.
30244
30245        Clean up the Xcode project a bit.
30246
30247        * WebCore.xcodeproj/project.pbxproj:
30248
302492010-03-28  Pavel Feldman  <pfeldman@chromium.org>
30250
30251        Reviewed by Timothy Hatcher.
30252
30253        Web Inspector: Toggling style properties on/off does not always work.
30254
30255        https://bugs.webkit.org/show_bug.cgi?id=36720
30256
30257        * inspector/InspectorController.cpp:
30258        * inspector/InspectorDOMAgent.cpp:
30259        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
30260        (WebCore::InspectorDOMAgent::buildObjectForStyle):
30261        (WebCore::InspectorDOMAgent::buildArrayForDisabledStyleProperties):
30262        * inspector/InspectorDOMAgent.h:
30263        * inspector/front-end/DOMAgent.js:
30264        (WebInspector.CSSStyleDeclaration):
30265
302662010-03-28  Pavel Feldman  <pfeldman@chromium.org>
30267
30268        Reviewed by Timothy Hatcher.
30269
30270        Web Inspector: resource links should navigate to resource panel enabler when resource tracking is off.
30271
30272        https://bugs.webkit.org/show_bug.cgi?id=36722
30273
30274        * English.lproj/localizedStrings.js:
30275        * inspector/front-end/inspector.js:
30276        (WebInspector.documentMouseOver):
30277        (WebInspector.documentClick.followLink):
30278        (WebInspector.documentClick):
30279
302802010-03-28  Dirk Schulze  <krit@webkit.org>
30281
30282        Unreviewed build-fix for chromium linux.
30283
30284        SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30285        https://bugs.webkit.org/show_bug.cgi?id=36185
30286
30287        * svg/SVGStyledElement.cpp:
30288        (WebCore::SVGStyledElement::invalidateResources):
30289
302902010-03-28  Dirk Schulze  <krit@webkit.org>
30291
30292        Reviewed by Nikolas Zimmermann.
30293
30294        SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
30295        https://bugs.webkit.org/show_bug.cgi?id=36185
30296
30297        This moves SVGResourceMarker to RenderersSVGResourceMarker. This follows other
30298        SVG resources like masker and clipper and makes DRT results more readable and
30299        adds additonal informations.
30300        Some marker specific code also moved out from RenderSVGViewportContainer to 
30301        RenderersSVGResourceMarker.
30302
30303        * Android.mk:
30304        * GNUmakefile.am:
30305        * WebCore.gypi:
30306        * WebCore.pro:
30307        * WebCore.vcproj/WebCore.vcproj:
30308        * WebCore.xcodeproj/project.pbxproj:
30309        * rendering/RenderPath.cpp:
30310        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
30311        * rendering/RenderSVGImage.cpp:
30312        (WebCore::RenderSVGImage::destroy):
30313        * rendering/RenderSVGResource.h:
30314        (WebCore::):
30315        * rendering/RenderSVGResourceMarker.cpp: Added.
30316        (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
30317        (WebCore::RenderSVGResourceMarker::~RenderSVGResourceMarker):
30318        (WebCore::RenderSVGResourceMarker::layout):
30319        (WebCore::RenderSVGResourceMarker::addClient):
30320        (WebCore::RenderSVGResourceMarker::invalidateClients):
30321        (WebCore::RenderSVGResourceMarker::invalidateClient):
30322        (WebCore::RenderSVGResourceMarker::applyViewportClip):
30323        (WebCore::RenderSVGResourceMarker::markerBoundaries):
30324        (WebCore::RenderSVGResourceMarker::localToParentTransform):
30325        (WebCore::RenderSVGResourceMarker::referencePoint):
30326        (WebCore::RenderSVGResourceMarker::angle):
30327        (WebCore::RenderSVGResourceMarker::markerTransformation):
30328        (WebCore::RenderSVGResourceMarker::draw):
30329        (WebCore::RenderSVGResourceMarker::markerContentTransformation):
30330        (WebCore::RenderSVGResourceMarker::viewportTransform):
30331        (WebCore::RenderSVGResourceMarker::calcViewport):
30332        * rendering/RenderSVGResourceMarker.h: Added.
30333        (WebCore::RenderSVGResourceMarker::renderName):
30334        (WebCore::RenderSVGResourceMarker::applyResource):
30335        (WebCore::RenderSVGResourceMarker::resourceBoundingBox):
30336        (WebCore::RenderSVGResourceMarker::markerUnits):
30337        (WebCore::RenderSVGResourceMarker::resourceType):
30338        * rendering/RenderSVGViewportContainer.cpp:
30339        (WebCore::RenderSVGViewportContainer::calcViewport):
30340        (WebCore::RenderSVGViewportContainer::viewportTransform):
30341        * rendering/RenderSVGViewportContainer.h:
30342        * rendering/SVGMarkerData.h:
30343        (WebCore::SVGMarkerData::SVGMarkerData):
30344        (WebCore::SVGMarkerData::marker):
30345        (WebCore::SVGMarkerData::updateTypeAndMarker):
30346        * rendering/SVGMarkerLayoutInfo.cpp:
30347        (WebCore::processStartAndMidMarkers):
30348        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
30349        (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker):
30350        * rendering/SVGMarkerLayoutInfo.h:
30351        (WebCore::MarkerLayout::MarkerLayout):
30352        (WebCore::SVGMarkerLayoutInfo::midMarker):
30353        * rendering/SVGRenderSupport.cpp:
30354        (WebCore::deregisterFromResources):
30355        * rendering/SVGRenderSupport.h:
30356        * rendering/SVGRenderTreeAsText.cpp:
30357        (WebCore::operator<<):
30358        (WebCore::writeSVGResource):
30359        * svg/SVGMarkerElement.cpp:
30360        (WebCore::SVGMarkerElement::svgAttributeChanged):
30361        (WebCore::SVGMarkerElement::childrenChanged):
30362        (WebCore::SVGMarkerElement::setOrientToAuto):
30363        (WebCore::SVGMarkerElement::setOrientToAngle):
30364        (WebCore::SVGMarkerElement::createRenderer):
30365        * svg/SVGMarkerElement.h:
30366        (WebCore::SVGMarkerElement::):
30367        * svg/SVGStyledElement.cpp:
30368        (WebCore::SVGStyledElement::invalidateResources):
30369        * svg/graphics/SVGResource.h:
30370        (WebCore::):
30371        (WebCore::SVGResource::isFilter):
30372        * svg/graphics/SVGResourceMarker.cpp: Removed.
30373        * svg/graphics/SVGResourceMarker.h: Removed.
30374
303752010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
30376
30377        Reviewed by Pavel Feldman.
30378
30379        Web Inspector: Consolidate Tree Hierarchy Attribute HTML Generation
30380        https://bugs.webkit.org/show_bug.cgi?id=36719
30381
30382          Consolidates the generation of Element Tree Hierarchy attribute code
30383          generation to a single function: _attributeHTML.
30384
30385        * inspector/front-end/ElementsTreeOutline.js:
30386        (WebInspector.ElementsTreeElement.prototype._addNewAttribute): convert to use attributeHTML.
30387        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): convert to use attributeHTML.
30388        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
30389        (WebInspector.ElementsTreeElement.prototype._attributeHTML): a single point for generating the html for attributes.
30390
303912010-03-28  Joseph Pecoraro  <joepeck@webkit.org>
30392
30393        Reviewed by Pavel Feldman.
30394
30395        Web Inspector: Edit Tag Names
30396        https://bugs.webkit.org/show_bug.cgi?id=36481
30397
30398          Ensure blacklisting happens by checking it in _startEditingTagName
30399          instead of all the possible entry points.
30400
30401        * inspector/front-end/ElementsTreeOutline.js:
30402        (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): don't check blacklist here.
30403        (WebInspector.ElementsTreeElement.prototype._startEditingTagName): check blacklist here.
30404
304052010-03-28  Kim Grönholm  <kim.gronholm@nomovok.com>
30406
30407        Reviewed by Simon Hausmann.
30408
30409        [Qt] GraphicsLayer: Timing functions don't work with transitions
30410        https://bugs.webkit.org/show_bug.cgi?id=36589
30411
30412        If the animation value doesn't have timing function set, we need to
30413        use the animation's timing function.
30414        
30415        Fixed also a bug in passing the duration to solveCubicBezierFunction.
30416        The duration was divided two times by 1000 and meanwhile casted to int.
30417        It needs to be kept as double and divided by 1000 only once.
30418
30419        Test case: https://bugs.webkit.org/attachment.cgi?id=51619
30420
30421        * platform/graphics/qt/GraphicsLayerQt.cpp:
30422        (WebCore::applyTimingFunction):
30423        (WebCore::AnimationQt:::AnimationQtBase):
30424        (WebCore::AnimationQt::updateCurrentTime):
30425
304262010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
30427
30428        Reviewed by Pavel Feldman.
30429
30430        Web Inspector: Edit Tag Names
30431        https://bugs.webkit.org/show_bug.cgi?id=36481
30432
30433        Allow tabbing back and forth between the tag name and element
30434        attributes when editing. Also, fixed a number of minor issues with
30435        editing attributes and tabbing.
30436
30437        * inspector/front-end/ElementsTreeOutline.js:
30438        (WebInspector.ElementsTreeElement.prototype._startEditingTagName): find the tag name if it wasn't provided.
30439        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): fix tabbing issues, enable tab to tag name.
30440        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.regenerateStyledAttribute): cleanup styles when tabbing.
30441        * inspector/front-end/inspector.css: do not display <br>s while editing
30442
304432010-03-27  Joseph Pecoraro  <joepeck@webkit.org>
30444
30445        Reviewed by Pavel Feldman.
30446
30447        Web Inspector: Edit Tag Names
30448        https://bugs.webkit.org/show_bug.cgi?id=36481
30449        
30450        Allow editing an Element's Tag Name by double clicking
30451        on the tag name in the Element's Tree Hierarchy.
30452        
30453          The usual asynchronous InspectorBackend, InspectorDOMAgent, InspectorFrontend flow.
30454
30455        * inspector/InspectorBackend.cpp: moved DOM manipulation to InspectorDOMAgent
30456        (WebCore::InspectorBackend::removeNode):
30457        (WebCore::InspectorBackend::changeTagName):
30458        * inspector/InspectorBackend.h:
30459        * inspector/InspectorBackend.idl:
30460        * inspector/InspectorDOMAgent.cpp:
30461        (WebCore::InspectorDOMAgent::removeNode):
30462        (WebCore::InspectorDOMAgent::changeTagName):
30463        * inspector/InspectorDOMAgent.h:
30464        * inspector/InspectorFrontend.cpp:
30465        (WebCore::InspectorFrontend::didChangeTagName):
30466        * inspector/InspectorFrontend.h:
30467
30468        * inspector/front-end/DOMAgent.js:
30469
30470          Handle the UI for editing an Element's tag name.
30471
30472        * inspector/front-end/ElementsTreeOutline.js:
30473        (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): allow editing from double click.
30474        (WebInspector.ElementsTreeElement.prototype._startEditingTagName.keyupListener): update the closing tag
30475        (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingComitted): remove extra listener and commit
30476        (WebInspector.ElementsTreeElement.prototype._startEditingTagName.editingCancelled): remove extra listener and cancel
30477        (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
30478        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.cancel):
30479        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
30480        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.editTagNameCallback):
30481        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
30482        (WebInspector.ElementsTreeElement.prototype._distinctClosingTagElement): get the closing tag for an opening tag
30483        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo): wrap the tagName in span.webkit-html-tag-name
30484
30485          Miscellaneous updates.
30486
30487        * inspector/front-end/treeoutline.js: fixed a typo.
30488
304892010-03-27  Dmitry Gorbik  <socket.h@gmail.com>
30490
30491        Reviewed by Pavel Feldman.
30492
30493        Fix the regression caused by r28078: a global variable
30494        definition masks a local one in an inspector console
30495        https://bugs.webkit.org/show_bug.cgi?id=32442
30496
30497        * inspector/front-end/InjectedScript.js:
30498        (injectedScriptConstructor):
30499
305002010-03-27  Dan Bernstein  <mitz@apple.com>
30501
30502        Reviewed by Darin Adler.
30503
30504        <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
30505        https://bugs.webkit.org/show_bug.cgi?id=36700
30506
30507        * css/CSSPrimitiveValue.cpp:
30508        (WebCore::CSSPrimitiveValue::createColor): Reverted to returning an RGB color value rather than an
30509        identifier for the transparent color.
30510
305112010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
30512
30513        Reviewed by Pavel Feldman.
30514
30515        Web Inspector: Converge Inspector ids to be long, not ints
30516        https://bugs.webkit.org/show_bug.cgi?id=36706
30517
30518          Part 1: Converge on `long` for callIds, nodeIds, and other Ids.
30519
30520        * inspector/InspectorController.cpp:
30521        * inspector/InspectorController.h:
30522        * inspector/InspectorDOMAgent.cpp:
30523        * inspector/InspectorFrontend.cpp:
30524        * inspector/InspectorFrontend.h:
30525
305262010-03-27  Pavel Feldman  <pfeldman@chromium.org>
30527
30528        Reviewed by Timothy Hatcher.
30529
30530        Web Inspector: add layout test for styles panel.
30531
30532        https://bugs.webkit.org/show_bug.cgi?id=36699
30533
30534        Test: inspector/elements-panel-styles.html
30535
30536        * inspector/front-end/inspector.css:
30537        (#elements-content):
30538        (#elements-sidebar):
30539        * inspector/front-end/inspector.js:
30540        (WebInspector.displayNameForURL):
30541        * inspector/front-end/utilities.js:
30542        (String.prototype.trimURL):
30543
305442010-03-27  Mark Rowe  <mrowe@apple.com>
30545
30546        Reviewed by Darin Adler.
30547
30548        CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
30549        <http://webkit.org/b/36680> / <rdar://problem/7801016>
30550
30551        Test: fast/dom/setPrimitiveValue-exceptions.html
30552
30553        * css/CSSPrimitiveValue.cpp:
30554        (WebCore::CSSPrimitiveValue::setFloatValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
30555        type is not a numeric type.
30556        (WebCore::CSSPrimitiveValue::setStringValue): Throw an INVALID_ACCESS_ERR if either of our type or the passed-in
30557        type is not a string type.
30558
305592010-03-27  Robert Hogan  <robert@webkit.org>
30560
30561        Reviewed by nobody, fix typo in previous commit.
30562
30563        Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30564         when pluginsEnabled is false
30565
30566        Fix parentheses typo in r56661. This happened while rebasing and was not present
30567        in the reviewed patch, so committing unreviewed.
30568
30569        https://bugs.webkit.org/attachment.cgi?id=49515
30570
30571        * loader/FrameLoader.cpp:
30572        (WebCore::FrameLoader::requestObject):
30573
305742010-03-26  Robert Hogan  <robert@roberthogan.net>
30575
30576        Reviewed by Simon Hausmann.
30577
30578        Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
30579         when pluginsEnabled is false.
30580
30581        The purpose of disabling plugins is to prevent the execution of third-party code
30582        that may be untrustworthy. Qt plugins are implemented by the client rather than
30583        loaded from an external source, so the client should have the opportunity to
30584        consider them separately from other plugins.
30585
30586        Add a function MimeTypeRegistry::isApplicationPluginMIMEType() that WebKit
30587        uses in conjunction with arePluginsEnabled() to determine if it should attempt
30588        to load a plugin. If isApplicationPluginMIMEType() returns true, WebKit will load
30589        the plugin even if arePluginsEnabled() is false.
30590
30591        Currently, only Qt has application-implemented plugins: these use the mimetype
30592        'x-qt-plugin' and 'x-qt-styled-widget'. This patch permits Qt clients'
30593        reimplementation of QWebPage::createPlugin() to decide whether or not
30594        to create a Qt plugin, even when arePluginsEnabled is false.
30595
30596        For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.
30597
30598        https://bugs.webkit.org/show_bug.cgi?id=32196
30599
30600        Test: plugins/application-plugin-plugins-disabled.html
30601
30602        * loader/FrameLoader.cpp:
30603        (WebCore::FrameLoader::requestObject):
30604        * platform/MIMETypeRegistry.h:
30605        * platform/brew/MIMETypeRegistryBrew.cpp:
30606        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30607        * platform/chromium/MIMETypeRegistryChromium.cpp:
30608        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30609        * platform/gtk/MIMETypeRegistryGtk.cpp:
30610        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30611        * platform/haiku/MIMETypeRegistryHaiku.cpp:
30612        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30613        * platform/mac/MIMETypeRegistryMac.mm:
30614        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30615        * platform/qt/MIMETypeRegistryQt.cpp:
30616        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30617        * platform/win/MIMETypeRegistryWin.cpp:
30618        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30619        * platform/wince/MIMETypeRegistryWince.cpp:
30620        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30621        * platform/wx/MimeTypeRegistryWx.cpp:
30622        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
30623
306242010-03-27  Dan Bernstein  <mitz@apple.com>
30625
30626        Reviewed by Mark Rowe.
30627
30628        Fix Acid3 text-shadow rendering regression introduced in r56597.
30629
30630        * platform/graphics/mac/FontMac.mm:
30631        (WebCore::Font::drawGlyphs): Revert to using the simple shadow logic for zero-blur shadows,
30632        except for color bitmap fonts.
30633
306342010-03-26  Daniel Bates  <dbates@rim.com>
30635
30636        Reviewed by Beth Dakin.
30637
30638        https://bugs.webkit.org/show_bug.cgi?id=9268
30639
30640        As per sections 14.2 (http://www.w3.org/TR/CSS2/colors.html#background)
30641        and 17.5.1 (http://www.w3.org/TR/CSS2/tables.html#table-layers) of the
30642        CSS 2.1 spec., the background-image of a table-row should span the
30643        entire area of the table-row (i.e cover all the <td>'s). Moreover,
30644        fixes background image painting with respect to row-groups, columns
30645        and column-groups (*).
30646
30647        Currently, the background-image of a table row, row-group, and column-group
30648        is inherited by the table cells. This directly contradicts section 14.2.
30649        Instead, the background-image should cover the entire area of the table row,
30650        row-group, column, or column-group, respectively as described in section 17.5.1.
30651
30652        (*) A follow up patch to compute the absolute content box of a column, and
30653        column-group is needed so that background image positioning for these table
30654        elements works. See bug #36104.
30655
30656        Tests: fast/table/table-background.html
30657               fast/table/table-cell-border-draws-on-top-of-col-background.html
30658               fast/table/table-cell-border-draws-on-top-of-col-group-background.html
30659               fast/table/table-cell-border-draws-on-top-of-row-background.html
30660               fast/table/table-cell-border-draws-on-top-of-row-group-background.html
30661               fast/table/table-cell-overrides-row-background.html
30662               fast/table/table-col-background.html
30663               fast/table/table-col-group-background.html
30664               fast/table/table-col-group-col-span-background.html
30665               fast/table/table-col-group-span-background.html
30666               fast/table/table-col-span-background.html
30667               fast/table/table-row-background-left-50px.html
30668               fast/table/table-row-background-right-100percent.html
30669               fast/table/table-row-background-right-50px.html
30670               fast/table/table-row-background.html
30671               fast/table/table-row-group-background-positioned.html
30672               fast/table/table-row-group-background.html
30673
30674        * rendering/RenderBoxModelObject.cpp:
30675        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
30676        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Modified
30677        to call RenderObject::adjustBackgroundImagePosition.
30678        * rendering/RenderBoxModelObject.h:
30679        * rendering/RenderObject.h:
30680        (WebCore::RenderObject::adjustBackgroundImagePosition): Added.
30681        * rendering/RenderTableCell.cpp:
30682        (WebCore::RenderTableCell::adjustBackgroundImagePosition): Added.
30683        * rendering/RenderTableCell.h:
30684
306852010-03-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30686
30687        Unreviewed, minor build fix.
30688
30689        [Gtk] Guard defined but not used function
30690        
30691        Eliminate the "defined but not used" warning after r52684.
30692        No new tests as there is no new functionality.
30693
30694        * platform/ContextMenu.cpp:
30695
306962010-03-26  Justin Schuh  <jschuh@chromium.org>
30697
30698        Reviewed by Adam Barth.
30699
30700        Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
30701        https://bugs.webkit.org/show_bug.cgi?id=36502
30702
30703        Overrode inherited nodeValue and textContent in Attr.idl so they proxy 
30704        to value, which performs a security check.
30705
30706        Test: http/tests/security/xss-DENIED-iframe-src-alias.html
30707
30708        * bindings/js/JSAttrCustom.cpp:
30709        (WebCore::JSAttr::nodeValue):
30710        (WebCore::JSAttr::setNodeValue):
30711        (WebCore::JSAttr::textContent):
30712        (WebCore::JSAttr::setTextContent):
30713        * bindings/v8/custom/V8AttrCustom.cpp:
30714        (WebCore::V8Attr::nodeValueAccessorSetter):
30715        (WebCore::V8Attr::nodeValueAccessorGetter):
30716        (WebCore::V8Attr::textContentAccessorSetter):
30717        (WebCore::V8Attr::textContentAccessorGetter):
30718        * dom/Attr.idl:
30719
307202010-03-26  Eric Carlson  <eric.carlson@apple.com>
30721
30722        <rdar://problem/7320584> 
30723        https://bugs.webkit.org/show_bug.cgi?id=36681
30724        "new Audio()" doesn't work with plug-in backed media engine.
30725
30726        Don't require plug-in backed <video> and <audio> elements to be in the document to play.
30727
30728        * html/HTMLMediaElement.cpp:
30729        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_proxyWidget
30730        (WebCore::HTMLMediaElement::createRenderer): Set renderer widget if it has already been
30731        allocated.
30732        (WebCore::HTMLMediaElement::scheduleLoad): Call createMediaPlayerProxy to make sure we
30733        have a plug-in proxy.
30734        (WebCore::HTMLMediaElement::loadResource): Ditto.
30735        (WebCore::HTMLMediaElement::ensureMediaPlayer): Allocate media player.
30736        (WebCore::HTMLMediaElement::setMediaPlayerProxy): Call ensureMediaPlayer.
30737        (WebCore::HTMLMediaElement::getPluginProxyParams): New, return the url and params vectors.
30738        (WebCore::HTMLMediaElement::finishParsingChildren): Call createMediaPlayerProxy.
30739        (WebCore::HTMLMediaElement::createMediaPlayerProxy): New, allocate the proxy widget if necessary.
30740        * html/HTMLMediaElement.h:
30741
30742        * loader/EmptyClients.h:
30743        (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Add declaration.
30744
30745        * loader/FrameLoader.cpp:
30746        (WebCore::toPlugInElement): Don't allow an audio or video element to be cast to a plug-in element.
30747        (WebCore::FrameLoader::loadPlugin):
30748        (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): New, allocate a media player proxy plug-in.
30749
30750        * loader/FrameLoader.h: Declare loadMediaPlayerProxyPlugin.
30751
30752        * loader/FrameLoaderClient.h: Declare createMediaPlayerProxyPlugin.
30753
30754        * rendering/RenderEmbeddedObject.cpp:
30755        (WebCore::RenderEmbeddedObject::updateWidget): Call loadMediaPlayerProxyPlugin when passed an
30756        audio or video node.
30757
30758        * rendering/RenderLayerCompositor.cpp:
30759        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
30760
30761         * rendering/RenderVideo.cpp:
30762         (WebCore::RenderVideo::RenderVideo): Get default width and height from defaultSize.
30763         (WebCore::RenderVideo::defaultSize): New, return the spec defined default width and height.
30764         * rendering/RenderVideo.h:
30765
307662010-03-26  Simon Fraser  <simon.fraser@apple.com>
30767
30768        Reviewed by Dan Bernstein, Darin Adler.
30769
30770        Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
30771        https://bugs.webkit.org/show_bug.cgi?id=36675
30772        <rdar://problem/7787617>
30773        
30774        Fix two places in the code where RenderWidgets can get destroyed while being iterated over.
30775        This can happen when plug-ins execute script from NPP_SetWindow, and that script makes a change
30776        to the page that destroys a RenderWidget.
30777
30778        Tests: plugins/reentrant-update-widget-positions.html
30779               plugins/update-widgets-crash.html
30780
30781        * page/FrameView.cpp:
30782        (WebCore::FrameView::updateWidgets): ref() the RenderEmbeddedObjects that are put into the
30783        vector before iterating of them, and deref() them at the end. Rather than checking the m_widgetUpdateSet
30784        to see if the RenderWidget is still live, test object->node().
30785        
30786        * rendering/RenderView.cpp:
30787        (WebCore::RenderView::RenderView): Initialize some data members to make it more obvious in the debugger
30788        that the object is not garbage.
30789        (WebCore::RenderView::updateWidgetPositions): Use a Vector of RenderWidget* to keep the RenderWidgets
30790        alive during iteration, by reffing and dereffing them.
30791        * rendering/RenderWidget.h:
30792        (WebCore::RenderWidget::ref): Make this and deref() public.
30793
307942010-03-26 Beth Dakin <bdakin@apple.com>
30795
30796        Reviewed by Darin Adler.
30797
30798        Partial fix for https://bugs.webkit.org/show_bug.cgi?id=36564 
30799        Performance regression for setting content of <text> in SVG
30800        -and corresponding-
30801        <rdar://problem/7693963>
30802
30803        toClipPath() is extremely inefficient, so this patch removes the 
30804        call to it from RenderSVGResourceClipper::resourceBoundingBox() 
30805        which is very hot code in SVG with clip-paths. It is sufficient to 
30806        call unite with the objectBoundingBox(), which will return early if 
30807        objectBoundingBox() is empty.
30808
30809        * rendering/RenderSVGResourceClipper.cpp:
30810        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
30811
308122010-03-26  Joseph Pecoraro  <joepeck@webkit.org>
30813
30814        Reviewed by Dave Hyatt.
30815
30816        Generated run-in Content is Mistakenly Getting Deleted
30817        https://bugs.webkit.org/show_bug.cgi?id=36505
30818        <rdar://problem/7767161>
30819
30820        Test: fast/runin/generated2.html
30821        Test: fast/runin/generated3.html
30822        Test: fast/runin/generated4.html
30823
30824        Do not destroy :before/:after generated content with display run-in
30825        when relaying out different nodes. Have their real owners correctly
30826        handle them.
30827
30828        * rendering/RenderObjectChildList.cpp:
30829        (WebCore::RenderObjectChildList::updateBeforeAfterContent): simplified logic
30830        (WebCore::RenderObjectChildList::beforeAfterContainer): skip generated run-ins when checking children, check for them in grandchildren
30831
308322010-03-25  Ojan Vafai  <ojan@chromium.org>
30833
30834        Reviewed by Darin Adler.
30835
30836        shift+home/end and cmd+shift+left/right don't extend the selection correctly
30837        https://bugs.webkit.org/show_bug.cgi?id=36539
30838
30839        * WebCore.base.exp:
30840        * editing/SelectionController.cpp:
30841        (WebCore::SelectionController::modify):
30842        * editing/SelectionController.h:
30843
308442010-03-26  Janne Koskinen  <janne.p.koskinen@digia.com>
30845
30846        Reviewed by Laszlo Gombos.
30847
30848        Don't undefine SKIP_STATIC_CONSTRUCTORS_ON_GCC for Symbian HW targets.
30849        https://bugs.webkit.org/show_bug.cgi?id=34081
30850
30851        Defining StringImpl instances as globals will cause a crash on process exit as 
30852        StringImpl::Remove expects TLS which was already deleted at time of exiting main and ends up
30853        constructing one exiting thread.
30854
30855        * config.h:
30856
308572010-03-26  Andrey Kosyakov  <caseq@chromium.org>
30858
30859        Reviewed by Pavel Feldman.
30860
30861
30862        Send worker resource content to inspector to enable display of web
30863        workers in inspector's resource tab.
30864        https://bugs.webkit.org/show_bug.cgi?id=36658
30865
30866        * inspector/InspectorController.cpp:
30867        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
30868        (WebCore::InspectorController::scriptImported):
30869        * inspector/InspectorResource.cpp:
30870        (WebCore::InspectorResource::type):
30871        (WebCore::InspectorResource::setOverrideContent):
30872        (WebCore::InspectorResource::sourceString):
30873        * inspector/InspectorResource.h:
30874        * workers/DefaultSharedWorkerRepository.cpp:
30875        (WebCore::SharedWorkerScriptLoader::notifyFinished):
30876        * workers/Worker.cpp:
30877        (WebCore::Worker::notifyFinished):
30878
308792010-03-26  Yael Aharon  <yael.aharon@nokia.com>
30880
30881        Reviewed by Antti Koivisto.
30882
30883        Fix the rendering of HTMLProgressElement
30884        https://bugs.webkit.org/show_bug.cgi?id=36206
30885
30886        Update the rendering and css to conform to
30887        http://www.whatwg.org/specs/web-apps/current-work/complete.html#the-progress-element-0.
30888        Updated the tests and the expected results accordingly.
30889
30890        * css/html.css:
30891        (progress):
30892        * rendering/RenderProgress.cpp:
30893        (WebCore::RenderProgress::RenderProgress):
30894        (WebCore::RenderProgress::updateFromElement):
30895        * rendering/RenderProgress.h:
30896        (WebCore::RenderProgress::isProgress):
30897
308982010-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
30899
30900        Unreviewed build fix.
30901
30902        FontPlatformDataPango.cpp: prototype for
30903        'WebCore::FontPlatformData::FontPlatformData(cairo_font_face_t*, int, bool, bool)'
30904        does not match any in class
30905        https://bugs.webkit.org/show_bug.cgi?id=36496
30906
30907        * platform/graphics/gtk/FontPlatformDataPango.cpp:
30908        (WebCore::FontPlatformData::FontPlatformData): The 'size' parameter
30909        should be a float to match the declaration and the other definitions.
30910
309112010-03-26  Shu Chang  <chang.shu@nokia.com>
30912
30913        Reviewed by Eric Seidel.
30914
30915        [Qt] Prevent referring d->m_job in the future because calling abort()
30916        deletes the instance itself.
30917        https://bugs.webkit.org/show_bug.cgi?id=36618
30918
30919        Test: http/tests/appcache/fallback.html
30920
30921        * platform/network/qt/ResourceHandleQt.cpp:
30922        (WebCore::ResourceHandle::cancel):
30923
309242010-03-26  Stephen White  <senorblanco@chromium.org>
30925
30926        Unreviewed; build fix.
30927
30928        Rolling out 56620; too many layout test failures.
30929
30930        Covered by fast/css/*.
30931
30932        * css/CSSPrimitiveValue.cpp:
30933        (WebCore::CSSPrimitiveValue::cleanup):
30934        (WebCore::CSSPrimitiveValue::cssText):
30935        * css/CSSPrimitiveValue.h:
30936        (WebCore::CSSPrimitiveValue::):
30937
309382010-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30939
30940        Reviewed by Simon Hausmann.
30941
30942        [Qt] Build JavaScriptCore as a static library.
30943        https://bugs.webkit.org/show_bug.cgi?id=36590
30944
30945        This patch takes what was left of the unused JavaScriptCore.pro
30946        and moved the compilation logic from JavaScriptCore.pri to
30947        JavaScriptCore.pro.
30948
30949        * WebCore.pro:
30950
309512010-03-26  Olivier Goffart  <ogoffart@trolltech.com>
30952
30953        Reviewed by Simon Hausmann.
30954
30955        [Qt] Fix compilation on Windows
30956
30957        For some reason, the MSVC compiler choose the
30958        operator+(const QString &, const QString &) instead of
30959        operator+(const WebCore::String &, const WebCore::String &)
30960        resulting in errors when QT_USE_FAST_OPERATOR_PLUS is used.
30961
30962        * dom/XMLTokenizerQt.cpp:
30963        (WebCore::handleElementNamespaces):
30964
309652010-03-24  Stephen White  <senorblanco@chromium.org>
30966
30967        Reviewed by Darin Adler.
30968
30969        In order to speed up multiple calls to CSSPrimitiveValue::cssText(),
30970        this CL caches the String result.  When m_value is changed, the
30971        cached string is cleared.  This gives a good speedup on benchmarks
30972        which do a lot of CSS property gets, such as Peacekeeper.
30973        The processing cost should be negligible, since the strings are 
30974        refcounted.  The memory cost is an additional 4 bytes per
30975        CSSPrimitiveValue, and the extended lifetime of the computed string
30976        (potentially, the same as the lifetime of the CSSPrimitiveValue).
30977
30978        https://bugs.webkit.org/show_bug.cgi?id=36556
30979
30980        Covered by fast/css/large-number-round-trip.html, and more.
30981
30982        * css/CSSPrimitiveValue.cpp:
30983        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30984        (WebCore::CSSPrimitiveValue::cleanup):
30985        (WebCore::CSSPrimitiveValue::cssText):
30986        * css/CSSPrimitiveValue.h:
30987
309882010-03-26  Qi Zhang  <qi.2.zhang@nokia.com>
30989
30990        Reviewed by Laszlo Gombos.
30991
30992        [Qt] fast/canvas/drawImage-with-negative-source-destination.html failed
30993        https://bugs.webkit.org/show_bug.cgi?id=35005
30994
30995        To support negative width or height at context.drawImage
30996
30997        * platform/graphics/qt/StillImageQt.cpp:
30998        (WebCore::StillImage::draw):
30999
310002010-03-08  Philippe Normand  <pnormand@igalia.com>
31001
31002        Reviewed by Gustavo Noronha.
31003
31004        [GStreamer] soften dependency on libsoup in the http src element
31005        https://bugs.webkit.org/show_bug.cgi?id=35864
31006
31007        Replaced SoupURI calls with KURL and pause/resume internal soup
31008        messages only if the element is compiled for a port depending on
31009        libsoup.
31010
31011        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
31012        (webkit_web_src_init):
31013        (webKitWebSrcSetUri):
31014        (webKitWebSrcNeedDataMainCb):
31015        (webKitWebSrcEnoughDataMainCb):
31016
310172010-03-25  Ilya Tikhonovsky  <loislo@chromium.org>
31018
31019        Reviewed by Pavel Feldman.
31020
31021        Web Inspector: Shot record filter is implemented in Timeline Panel.
31022        https://bugs.webkit.org/show_bug.cgi?id=36606
31023
31024        * English.lproj/localizedStrings.js:
31025        * inspector/front-end/TimelinePanel.js:
31026        (WebInspector.TimelinePanel):
31027        (WebInspector.TimelinePanel.prototype.get statusBarItems):
31028        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
31029        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
31030        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
31031        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
31032        (WebInspector.TimelineRecordGraphRow.prototype.update):
31033        (WebInspector.TimelinePanel.FormattedRecord.prototype.get _isLongEvent):
31034        * inspector/front-end/inspector.css:
31035
310362010-03-25  Pavel Feldman  <pfeldman@chromium.org>
31037
31038        Reviewed by Timothy Hatcher.
31039
31040        Web Inspector: Implement CSSStyleSelector::pseudoStyleForElement and use it in the InspectorDOMAgent.
31041
31042        https://bugs.webkit.org/show_bug.cgi?id=36509
31043
31044        This change provides pseudo elements information into the inspector styles sidebar pane.
31045        Changes applied:
31046        - CSSStyleSelector::pseudoStyleRulesForElement implemented. I changed the signature to accept
31047          PseudoId instead of a String since it better reflected the needs;
31048        - Accompanied elementStyle checks with m_collectRulesOnly checks;
31049        - Removed pseudoStyleRulesForElement usage from DOMWindow::getMatchedCSSRules. It was anyways
31050          returning 0, while I would need to convert String to PseudoId in order to leave the call in place;
31051        - Needed to introduce AFTER_LAST_INTERNAL_PSEUDOID marker const in RenderStyleConstants' PseudoId enum
31052        - InspectorDOMAgent is now iterating over all pseudo ids to get all styles (including internal ones).
31053        - Brushed up front-end code so that proper overriding took place locally within pseudo id categories.
31054
31055        * English.lproj/localizedStrings.js:
31056        * css/CSSStyleSelector.cpp:
31057        (WebCore::CSSStyleSelector::styleRulesForElement):
31058        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
31059        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
31060        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
31061        * css/CSSStyleSelector.h:
31062        * inspector/InspectorDOMAgent.cpp:
31063        (WebCore::InspectorDOMAgent::getStyles):
31064        (WebCore::InspectorDOMAgent::buildObjectForAttributeStyles):
31065        (WebCore::InspectorDOMAgent::buildArrayForCSSRules):
31066        (WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
31067        * inspector/InspectorDOMAgent.h:
31068        * inspector/front-end/StylesSidebarPane.js:
31069        (WebInspector.StylesSidebarPane.prototype.update.callback):
31070        (WebInspector.StylesSidebarPane.prototype.update):
31071        (WebInspector.StylesSidebarPane.prototype._update):
31072        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
31073        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.insertInheritedNodeSeparator):
31074        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
31075        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
31076        (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
31077        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
31078        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
31079        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
31080        (WebInspector.StylesSidebarPane.prototype.removeSection):
31081        * inspector/front-end/inspector.css:
31082        (.styles-sidebar-separator):
31083        * page/DOMWindow.cpp:
31084        (WebCore::DOMWindow::getMatchedCSSRules):
31085        * rendering/style/RenderStyleConstants.h:
31086        (WebCore::):
31087
310882010-03-25  Charlie Reis  <creis@chromium.org>
31089
31090        Reviewed by Adam Barth.
31091
31092        onbeforeunload not called at window close + frame or iframe focused
31093        https://bugs.webkit.org/show_bug.cgi?id=27481
31094
31095        Test: fast/events/onbeforeunload-focused-iframe.html
31096
31097        Replaces initial manual tests with a layout test.
31098
31099        * manual-tests/onbeforeunload-focused-iframe.html: Removed.
31100        * manual-tests/resources/focused-iframe.html: Removed.
31101
311022010-03-25  Eric Uhrhane  <ericu@chromium.org>
31103
31104        Reviewed by David Levin.
31105
31106        Missing lock in call to doneCreatingDatabase
31107        https://bugs.webkit.org/show_bug.cgi?id=36473
31108
31109        Added new test storage/open-database-over-quota.html.
31110
31111        * storage/DatabaseTracker.cpp:
31112        (WebCore::DatabaseTracker::canEstablishDatabase):  Added missing lock call.
31113
311142010-03-25  Ojan Vafai  <ojan@chromium.org>
31115
31116        Reviewed by Eric Seidel.
31117
31118        [chromium] REGRESSION: Some LayoutTests fail after r56567
31119        https://bugs.webkit.org/show_bug.cgi?id=36630
31120
31121        Fix boolean logic goofup. This was a last minute code review
31122        change that didn't get tested on Windows before commit.
31123
31124        * editing/SelectionController.cpp:
31125        (WebCore::SelectionController::setIsDirectional):
31126
311272010-03-25  Dan Bernstein  <mitz@apple.com>
31128
31129        Reviewed by Darin Adler.
31130
31131        <rdar://problem/7728903> Support color bitmap fonts
31132
31133        Test: platform/mac/fonts/color-bitmap.html
31134
31135        * platform/graphics/mac/FontMac.mm:
31136        (WebCore::showGlyphsWithAdvances): Added. Calls CGContextShowGlyphsWithAdvances()
31137        or CTFontShowGlyphs() depending on whether the font is a color bitmap font.
31138        (WebCore::Font::drawGlyphs): Use showGlyphsWithAdvances(). Don’t include the font’s matrix in
31139        the context’s text matrix when drawing with a color bitmap font, because CTFontShowGlyphs()
31140        factors it in.
31141        * platform/graphics/mac/FontPlatformData.h:
31142        (WebCore::FontPlatformData::FontPlatformData): Added m_isColorBitmapFont member
31143        and initialized it in constructors.
31144        (WebCore::FontPlatformData::isColorBitmapFont): Added this getter.
31145        * platform/graphics/mac/FontPlatformDataMac.mm:
31146        (WebCore::FontPlatformData::FontPlatformData): Initialize m_isColorBitmapFont.
31147        (WebCore::FontPlatformData::operator=): Copy m_isColorBitmapFont.
31148        (WebCore::FontPlatformData::setFont): Set m_isColorBitmapFont.
31149
311502010-03-25  Adam Barth  <abarth@webkit.org>
31151
31152        Reviewed by Sam Weinig.
31153
31154        Implement allow-top-navigation for HTML5 sandbox attribute
31155        https://bugs.webkit.org/show_bug.cgi?id=36549
31156
31157        Tests: fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html
31158               fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html
31159               fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html
31160               fast/frames/sandboxed-iframe-navigation-top-by-name.html
31161               fast/frames/sandboxed-iframe-navigation-top-denied.html
31162               fast/frames/sandboxed-iframe-navigation-top.html
31163
31164        * bindings/generic/BindingDOMWindow.h:
31165        (WebCore::::createWindow):
31166        * bindings/js/JSDOMWindowCustom.cpp:
31167        (WebCore::createWindow):
31168          Moved the security check to FrameLoader because we need to allow
31169          window.open navigation to succeed sometimes when the
31170          SandboxNavigation bit is set.
31171        * html/HTMLIFrameElement.cpp:
31172        (WebCore::parseSandboxAttribute):
31173          Added allow-top-navigation to the parser.
31174        * loader/FrameLoader.cpp:
31175        (WebCore::FrameLoader::createWindow):
31176          The SandboxNavigation check now occurs after we search for the frame
31177          by name.  Notice that the named frame navigation case is caught by
31178          the generic navigation access check.
31179        (WebCore::FrameLoader::shouldAllowNavigation):
31180          Update the navigation access check to allow navigating of top unless
31181          it's forbidden.
31182        * loader/FrameLoaderTypes.h:
31183          Introduce a bit for SandboxedTopNavigation.
31184        (WebCore::):
31185
311862010-03-25  Dumitru Daniliuc  <dumi@chromium.org>
31187
31188        Unreviewed, Chromium build fix.
31189
31190        V8CustomVoidCallback should not check if a return value is a
31191        boolean. It should only convert the value to a boolean.
31192
31193        * bindings/v8/custom/V8CustomVoidCallback.cpp:
31194        (WebCore::invokeCallback):
31195
311962010-03-25  Dmitry Titov  <dimich@chromium.org>
31197
31198        No review, rolling out r56585.
31199        http://trac.webkit.org/changeset/56585
31200        https://bugs.webkit.org/show_bug.cgi?id=36621
31201
31202        Broke Chromium builds on waterfall
31203
31204        * plugins/PluginView.cpp:
31205        (WebCore::PluginView::getValue):
31206        * plugins/PluginView.h:
31207        * plugins/PluginViewNone.cpp:
31208        (WebCore::PluginView::setJavaScriptPaused):
31209
312102010-03-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
31211
31212        Reviewed by Darin Adler.
31213
31214        Fix build if NPAPI support is disabled
31215        https://bugs.webkit.org/show_bug.cgi?id=36621
31216
31217        No new tests, this is a build fix.
31218
31219        * plugins/PluginView.cpp: Guard getValueStatic() with
31220        NETSCAPE_PLUGIN_API
31221        (WebCore::PluginView::getValue):
31222        * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
31223        * plugins/PluginViewNone.cpp: Guard platformGetValue() and
31224        platformGetValueStatic with NETSCAPE_PLUGIN_API;
31225        Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
31226        PLATFORM(MAC)
31227
312282010-03-25  Drew Wilson  <atwilson@chromium.org>
31229
31230        Reviewed by Nate Chapin.
31231
31232        [v8] Error in getScriptExecutionContext() when worker context is terminating.
31233        https://bugs.webkit.org/show_bug.cgi?id=36565
31234
31235        Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
31236        callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
31237
31238        Test: Existing worker tests suffice.
31239
31240        * bindings/v8/V8DOMWrapper.cpp:
31241        (WebCore::V8DOMWrapper::getConstructor):
31242        Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
31243        * bindings/v8/V8Utilities.cpp:
31244        (WebCore::getScriptExecutionContext):
31245        Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
31246        * bindings/v8/WorkerContextExecutionProxy.cpp:
31247        Removed WorkerScriptExecutionProxy::retrieve().
31248        * bindings/v8/WorkerContextExecutionProxy.h:
31249        Removed WorkerScriptExecutionProxy::retrieve().
31250        * bindings/v8/WorkerScriptController.cpp:
31251        (WebCore::WorkerScriptController::controllerForContext):
31252        Added helper function to get the WorkerScriptController for the current context.
31253        * bindings/v8/WorkerScriptController.h:
31254        Added declaration for controllerForContext().
31255
312562010-03-25  Simon Hausmann  <simon.hausmann@nokia.com>
31257
31258        Reviewed by Kenneth Rohde Christiansen.
31259
31260        [Qt] Fix the package build on Maemo 5
31261
31262        https://bugs.webkit.org/show_bug.cgi?id=36607
31263
31264        Always embed the stylesheet for the no-listbox rendering. This way it'll be
31265        included in the generated files for the package generation.
31266
31267        * WebCore.pri:
31268
312692010-03-24  Dumitru Daniliuc  <dumi@chromium.org>
31270
31271        Reviewed by Dimitri Glazkov.
31272
31273        Changing the V8 and JSC implementations of
31274        SQLStatementErrorCallback to interpret as false all results that
31275        could be converted to a false boolean. Pretty much a revert of
31276        r54981.
31277
31278        https://bugs.webkit.org/show_bug.cgi?id=36569
31279
31280        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
31281        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
31282        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
31283        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
31284        * bindings/v8/custom/V8CustomVoidCallback.cpp:
31285        (WebCore::invokeCallback):
31286        * bindings/v8/custom/V8CustomVoidCallback.h:
31287
312882010-03-25  Dmitry Titov  <dimich@chromium.org>
31289
31290        Unreviewed, fix Chromium tests.
31291
31292        Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
31293        have unspecified port to return invalidPortNumber from KURL::port().
31294
31295        * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
31296        (WebCore::KURL::port):
31297
312982010-03-25  Dirk Schulze  <krit@webkit.org>
31299
31300        Reviewed by Nikolas Zimmermann.
31301
31302        This is a follow up of:
31303        https://bugs.webkit.org/show_bug.cgi?id=30055
31304        Bad DOM performance in large SVG files
31305
31306        Just save and restore the GraphicsContext, if we realy modify it.
31307        (Cairo)Path::contains checks if a point is in the boundingBox
31308        as a heuristic. The intention was to make the process faster for
31309        points outside of this rect, but it rather causes the
31310        opposite.
31311
31312        No new test cases added. No change in functionality.
31313
31314        * platform/graphics/cairo/PathCairo.cpp:
31315        (WebCore::Path::contains):
31316        * rendering/RenderPath.cpp:
31317        (WebCore::RenderPath::paint):
31318
313192010-03-25  Ojan Vafai  <ojan@chromium.org>
31320
31321        Reviewed by David Levin.
31322
31323        mouse-based selections are always directional on Windows/Linux
31324        https://bugs.webkit.org/show_bug.cgi?id=25195
31325
31326        Change m_lastChangeWasHorizontalExtension to m_isDirectional
31327        and make m_isDirectional always be true for Windows/Linux.
31328
31329        * editing/SelectionController.cpp:
31330        (WebCore::SelectionController::SelectionController):
31331        (WebCore::SelectionController::setSelection):
31332        (WebCore::SelectionController::setIsDirectional):
31333        (WebCore::SelectionController::willBeModified):
31334        When double-clicking, the base/extent will be in the middle
31335        of the selection instead of the start/end of it. Changed to
31336        maintain that modifications after double-click still move the
31337        start/end of the selection, not the base/extent.
31338        (WebCore::SelectionController::modify):
31339        * editing/SelectionController.h:
31340        * page/EventHandler.cpp:
31341        (WebCore::EventHandler::handleMousePressEventSingleClick):
31342        (WebCore::EventHandler::updateSelectionForMouseDrag):
31343
313442010-03-25  Simon Fraser  <simon.fraser@apple.com>
31345
31346        Revert r56565 which was based on an incorrect premise.
31347
31348        * page/animation/CompositeAnimation.cpp:
31349        (WebCore::CompositeAnimation::clearRenderer):
31350        (WebCore::CompositeAnimation::updateKeyframeAnimations):
31351        (WebCore::CompositeAnimation::getAnimatedStyle):
31352        (WebCore::CompositeAnimation::setAnimating):
31353        (WebCore::CompositeAnimation::timeToNextService):
31354        (WebCore::CompositeAnimation::getAnimationForProperty):
31355        (WebCore::CompositeAnimation::suspendAnimations):
31356        (WebCore::CompositeAnimation::resumeAnimations):
31357        (WebCore::CompositeAnimation::isAnimatingProperty):
31358        (WebCore::CompositeAnimation::pauseAnimationAtTime):
31359        (WebCore::CompositeAnimation::numberOfActiveAnimations):
31360
313612010-03-25  Simon Fraser  <simon.fraser@apple.com>
31362
31363        Reviewed by Eric Carlson.
31364
31365        Make calls to m_keyframeAnimations.checkConsistency() debug-only
31366        https://bugs.webkit.org/show_bug.cgi?id=36555
31367
31368        Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
31369        debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
31370        these calls are no-ops in release builds.
31371        
31372        * page/animation/CompositeAnimation.cpp:
31373        (WebCore::CompositeAnimation::clearRenderer):
31374        (WebCore::CompositeAnimation::updateKeyframeAnimations):
31375        (WebCore::CompositeAnimation::getAnimatedStyle):
31376        (WebCore::CompositeAnimation::setAnimating):
31377        (WebCore::CompositeAnimation::timeToNextService):
31378        (WebCore::CompositeAnimation::getAnimationForProperty):
31379        (WebCore::CompositeAnimation::suspendAnimations):
31380        (WebCore::CompositeAnimation::resumeAnimations):
31381        (WebCore::CompositeAnimation::isAnimatingProperty):
31382        (WebCore::CompositeAnimation::pauseAnimationAtTime):
31383        (WebCore::CompositeAnimation::numberOfActiveAnimations):
31384
313852010-03-25  Simon Fraser  <simon.fraser@apple.com>
31386
31387        Reviewed by Geoffrey Garen.
31388
31389        https://bugs.webkit.org/show_bug.cgi?id=36557
31390        Animations use the wrong timing-function sometimes
31391        
31392        Fix an issue where animations picked the wrong style for their "unanimated" value.
31393        
31394        Previously, the "unanimated" style was considered to be the style before the animation
31395        was applied. This caused us to pick up stale values for animation timing functions, for
31396        blending when a property is missing from the first keyframe, and for resuming transitions
31397        once an animation ends.
31398        
31399        Instead, we need to use the "current" style, which is the one that causes the animation
31400        to kick off.
31401
31402        Tests: animations/longhand-timing-function.html
31403               animations/transition-and-animation-3.html
31404               animations/unanimated-style.html
31405
31406        * page/animation/CompositeAnimation.cpp:
31407        (WebCore::CompositeAnimation::updateKeyframeAnimations):
31408
314092010-03-25  Gavin Barraclough  <barraclough@apple.com>
31410
31411        Reviewed by Geoff Garen.
31412
31413        Bug 36611 - Cleanup JSC::CString
31414        Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
31415        remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
31416
31417        * bridge/NP_jsobject.cpp:
31418        (_NPN_Enumerate):
31419        * bridge/c/c_utility.cpp:
31420        (JSC::Bindings::convertValueToNPVariant):
31421        * bridge/jni/jsc/JNIBridgeJSC.cpp:
31422        (JavaField::valueFromInstance):
31423        (JavaField::setValueToInstance):
31424        * bridge/jni/jsc/JavaInstanceJSC.cpp:
31425        (JavaInstance::invokeMethod):
31426        * bridge/jni/jsc/JavaStringJSC.h:
31427        (JSC::Bindings::JavaStringImpl::UTF8String):
31428
314292010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>
31430
31431        Reviewed by Eric Seidel.
31432
31433        [Qt] RenderTheme: fix size adjustment for text fields
31434        https://bugs.webkit.org/show_bug.cgi?id=36413
31435
31436        To match other ports, remove the hardcoded dimensions for text fields so that
31437        the default ones from WebCore can be used.
31438        Properly apply the correct padding to text areas - this fixes their appearance
31439        with the Oxygen style.
31440
31441        * platform/qt/RenderThemeQt.cpp:
31442        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
31443
314442010-03-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
31445
31446        Reviewed by Simon Hausmann.
31447
31448        [Qt] Implement ChromeClient::windowResizerRect()
31449
31450        https://bugs.webkit.org/show_bug.cgi?id=21300
31451
31452        The helper function geometryRelativeToOwnerWidget() in the page
31453        client is used to clip the resize rect to the actual size of the
31454        viewport, not the size of the QGraphicsView.
31455
31456        * platform/qt/QWebPageClient.h:
31457
314582010-03-25  Joseph Pecoraro  <joepeck@webkit.org>
31459
31460        Reviewed by Pavel Feldman.
31461
31462        Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
31463        https://bugs.webkit.org/show_bug.cgi?id=36554
31464
31465        * inspector/front-end/inspector.js:
31466        (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
31467
314682010-03-25  Jochen Eisinger  <jochen@chromium.org>
31469
31470        Reviewed by Jeremy Orlow.
31471
31472        Forward DatabaseTracker::canEstablishDatabase to chromium layer.
31473        https://bugs.webkit.org/show_bug.cgi?id=36595
31474
31475        * storage/chromium/DatabaseObserver.h:
31476        * storage/chromium/DatabaseTrackerChromium.cpp:
31477        (WebCore::DatabaseTracker::canEstablishDatabase):
31478
314792010-03-25  yael aharon  <yael.aharon@nokia.com>
31480
31481        Reviewed by Laszlo Gombos.
31482
31483        [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
31484        https://bugs.webkit.org/show_bug.cgi?id=35112
31485
31486        Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
31487
31488        * plugins/symbian/PluginContainerSymbian.cpp:
31489        (PluginContainerSymbian::PluginContainerSymbian):
31490        (PluginContainerSymbian::focusInEvent):
31491        * plugins/symbian/PluginContainerSymbian.h:
31492        (WebCore::PluginContainerSymbian::proxy):
31493        * plugins/symbian/PluginViewSymbian.cpp:
31494        (WebCore::PluginView::updatePluginWidget):
31495        (WebCore::PluginView::platformStart):
31496        (WebCore::PluginView::platformDestroy):
31497
314982010-03-25  Simon Fraser  <simon.fraser@apple.com>
31499
31500        Reviewed by Adele Peterson.
31501
31502        https://bugs.webkit.org/show_bug.cgi?id=35714
31503        Computed style on delayed transform animations is incorrect
31504        
31505        When fetching computed style while a delayed accelerated animation is in effect,
31506        we would get the value form the first keyframe, rather than getting the current
31507        style.
31508        
31509        Fix by checking to see whether we've in the delay phase (with no backwards-fill)
31510        in KeyframeAnimation::getAnimatedStyle().
31511
31512        Test: compositing/animation/computed-style-during-delay.html
31513
31514        * page/animation/KeyframeAnimation.cpp:
31515        (WebCore::KeyframeAnimation::getAnimatedStyle):
31516
315172010-03-25  Yury Semikhatsky  <yurys@chromium.org>
31518
31519        Reviewed by Pavel Feldman.
31520
31521        Initialize Web Inspector title with inspected page URL when opening Web Inspector.
31522
31523        https://bugs.webkit.org/show_bug.cgi?id=36534
31524
31525        * inspector/InspectorController.cpp:
31526        (WebCore::InspectorController::setFrontend):
31527
315282010-03-25  Antti Koivisto  <koivisto@iki.fi>
31529
31530        Reviewed by Kenneth Rohde Christiansen.
31531
31532        https://bugs.webkit.org/show_bug.cgi?id=36316
31533        Tiles of selected content do not update if not in viewport
31534        
31535        Don't clip repaints to viewport when tiling is enabled.
31536
31537        * page/Frame.cpp:
31538        (WebCore::Frame::setView):
31539        (WebCore::Frame::setTiledBackingStoreEnabled):
31540
315412010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>
31542
31543        Reviewed by Eric Seidel.
31544
31545        Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
31546        on WebKit.pri
31547
31548        [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
31549        https://bugs.webkit.org/show_bug.cgi?id=36547
31550
31551        * WebCore.pri:
31552
315532010-03-25  Pavel Feldman  <pfeldman@chromium.org>
31554
31555        Reviewed by Timothy Hatcher.
31556
31557        Web Inspector: Expect console object wrapping to fail.
31558
31559        https://bugs.webkit.org/show_bug.cgi?id=36587
31560
31561        * inspector/front-end/InjectedScript.js:
31562        (injectedScriptConstructor):
31563
315642010-03-25  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
31565
31566        Reviewed by Eric Seidel.
31567
31568        https://bugs.webkit.org/show_bug.cgi?id=36371
31569        [Gtk] Elements with a title attribute should not be ignored
31570
31571        * accessibility/AccessibilityRenderObject.cpp:
31572        (AccessibilityRenderObject::accessibilityIsIgnored):
31573
315742010-03-24  Steve Block  <steveblock@google.com>
31575
31576        Reviewed by David Levin.
31577
31578        Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
31579        https://bugs.webkit.org/show_bug.cgi?id=36550
31580
31581        Build fix only, no new tests.
31582
31583        * bindings/v8/V8DOMWrapper.cpp:
31584        (WebCore::V8DOMWrapper::instantiateV8Object):
31585
315862010-03-25  Leandro Pereira  <leandro@profusion.mobi>
31587
31588        Reviewed by Eric Seidel.
31589
31590        Add EFL-specific code to platform/ScrollView.cpp and
31591        platform/Scrollbar.cpp.
31592        http://webkit.org/b/36305
31593
31594        * platform/ScrollView.cpp:
31595        * platform/Scrollbar.cpp:
31596
315972010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
31598
31599        Reviewed by Eric Seidel.
31600
31601        [Qt]Fix compile error with QT_NO_LIBRARY
31602        https://bugs.webkit.org/show_bug.cgi?id=36533
31603
31604        * platform/FileSystem.h:
31605        * platform/qt/FileSystemQt.cpp:
31606        (WebCore::unloadModule):
31607
316082010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
31609
31610        Reviewed by Eric Seidel.
31611
31612        [Qt]Fix compile error with QT_NO_ANIMATION
31613        https://bugs.webkit.org/show_bug.cgi?id=36526
31614
31615        * platform/graphics/qt/GraphicsLayerQt.cpp:
31616        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
31617        * platform/graphics/qt/GraphicsLayerQt.h:
31618
316192010-03-25  Tony Chang  <tony@chromium.org>
31620
31621        Reviewed by Eric Seidel.
31622
31623        https://bugs.webkit.org/show_bug.cgi?id=33697
31624        Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
31625        because only returning Generic doesn't work for platforms that don't
31626        have a generic operation.
31627
31628        Covered by existing tests (fast/events/drag-and-drop.html).
31629
31630        * dom/Clipboard.cpp:
31631        (WebCore::dragOpFromIEOp):
31632        (WebCore::Clipboard::destinationOperation):
31633        (WebCore::Clipboard::setDestinationOperation):
31634
316352010-03-25  Fumitoshi Ukai  <ukai@chromium.org>
31636
31637        Reviewed by Eric Seidel.
31638
31639        [Qt] websocket/tests/long-invalid-header.html fails
31640        https://bugs.webkit.org/show_bug.cgi?id=36492
31641
31642        trim message at most 128 bytes from the current position.
31643        I believe it's enough data to investigate the error reason and
31644        it makes test not depend on buffered size.
31645
31646        * websockets/WebSocketHandshake.cpp:
31647        (WebCore::trimConsoleMessage):
31648        (WebCore::WebSocketHandshake::readServerHandshake):
31649        (WebCore::WebSocketHandshake::readHTTPHeaders):
31650
316512010-03-24  Jon Honeycutt  <jhoneycutt@apple.com>
31652
31653        <rdar://problem/7780798> Missing plug-ins should be represented by text
31654        only, instead of lego block
31655
31656        https://bugs.webkit.org/show_bug.cgi?id=36583
31657
31658        Reviewed by Dan Bernstein.
31659
31660        * rendering/RenderEmbeddedObject.cpp:
31661        (WebCore::RenderEmbeddedObject::paintReplaced):
31662        Set the font rendering mode and the computed size, so that the text will
31663        draw properly on Windows.
31664
316652010-03-24  Vangelis Kokkevis  <vangelis@chromium.org>
31666
31667        Reviewed by Dimitri Glazkov.
31668
31669        Removing unecessary redraws of LayerSkia contents:
31670        https://bugs.webkit.org/show_bug.cgi?id=36470
31671
31672        Test: No new functionality added, no tests.
31673
31674        * platform/graphics/skia/LayerRendererSkia.cpp:
31675        (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
31676        Debug borders now rendered at composite time rather than update time.
31677        * platform/graphics/skia/LayerSkia.cpp:
31678        (WebCore::LayerSkia::updateContents):
31679        (WebCore::LayerSkia::drawDebugBorder):
31680        Debug border drawing removed from updateContents and split into a separate method that
31681        can be called at composite time.
31682        (WebCore::LayerSkia::setBounds):
31683        Resetting the bounds causes the layer to redraw its contents.
31684        (WebCore::LayerSkia::setNeedsDisplay):
31685        * platform/graphics/skia/LayerSkia.h:
31686        Added declaration for drawDebugBorders method.
31687
316882010-03-24  Mark Rowe  <mrowe@apple.com>
31689
31690        Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
31691
31692        * platform/KURL.cpp:
31693        (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
31694        it was able to successfully parse the string as an unsigned integer, rather than relying on
31695        the fact it returned zero when it failed.
31696
316972010-03-24  Gavin Barraclough  <barraclough@apple.com>
31698
31699        Reviewed by Sam Weinig.
31700
31701        * platform/text/String.cpp:
31702        (WebCore::putUTF8Triple): Correct capitalization of function name.
31703        (WebCore::String::utf8): Fix C-style casts.
31704        (WebCore::String::fromUTF8): Remove unnecessary newline.
31705        (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
31706
317072010-03-24  Mark Rowe  <mrowe@apple.com>
31708
31709        Reviewed by Darin Adler.
31710
31711        WebKit should treat port numbers outside the valid range as being blacklisted
31712        <http://webkit.org/b/36571> / <rdar://problem/7790908>
31713
31714        * platform/KURL.cpp:
31715        (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
31716        (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
31717        * platform/KURLGoogle.cpp:  invalid port numbers to invalidPortNumber.
31718        (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
31719        Also bring this in to sync with KURL.  Having this identical code in two places is stupid.
31720
317212010-03-24  Sam Weinig  <sam@webkit.org>
31722
31723        Reviewed by Mark Rowe.
31724
31725        Add some missing exports.
31726
31727        * WebCore.base.exp:
31728
317292010-03-24  Gavin Barraclough  <barraclough@apple.com>
31730
31731        Reviewed by Sam Weinig.
31732
31733        Switch String::latin1, String::utf8, String::fromUTF8 to
31734        use WTF's Unicode conversion methods rather than TextEncoder.
31735        These methods only perform simple conversion, and don't need
31736        really require TextEncoder's full capability (to look up arbitrary
31737        encodings by name), switching to only be dependent on WTF will
31738        make it easier if we chose to move WebCore::String to WTF.
31739
31740        * platform/text/String.cpp:
31741        (WebCore::String::latin1):
31742        (WebCore::putUTF8triple):
31743        (WebCore::String::utf8):
31744        (WebCore::String::fromUTF8):
31745
317462010-03-24  Dmitry Titov  <dimich@chromium.org>
31747
31748        No review, rolling out r56453.
31749        http://trac.webkit.org/changeset/56453
31750        https://bugs.webkit.org/show_bug.cgi?id=36426
31751
31752        In Chromium port, it broke invalid-image-data-standalone.html
31753        invalid-image-data.html multipart-wait-before-boundary.html
31754        stop-crash.html win-boundary-crash.html
31755
31756        * loader/FrameLoader.cpp:
31757        (WebCore::FrameLoader::finishedLoadingDocument):
31758
317592010-03-24  Ilya Tikhonovsky  <loislo@chromium.org>
31760
31761        Reviewed by Pavel Feldman.
31762
31763        Web Inspector: Significant scroll speed degradation if Timeline has
31764        an expanded record with significant number of children.
31765        https://bugs.webkit.org/show_bug.cgi?id=36543
31766
31767
31768        * inspector/front-end/TimelinePanel.js:
31769        (WebInspector.TimelinePanel.prototype._updateBoundaries):
31770        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
31771        (WebInspector.TimelinePanel.prototype._filterRecords):
31772        (WebInspector.TimelinePanel.prototype._refreshRecords):
31773
317742010-03-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
31775
31776        Reviewed by Eric Carlson.
31777
31778        [GStreamer] Fails to go to Loaded state because of floating point discrepancies
31779        https://bugs.webkit.org/show_bug.cgi?id=35891
31780
31781        Use the m_fillStatus variable, which is more reliable, instead of
31782        using the calculation, for the completed case.
31783
31784        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
31785        (WebCore::MediaPlayerPrivate::fillTimerFired):
31786
317872010-03-24  Dmitry Titov  <dimich@chromium.org>
31788
31789        Unreviewed, Chromium test fix.
31790
31791        Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
31792        Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
31793        and was substituting toV8(Event*).
31794
31795        Fixing test fast/events/custom-event.html
31796
31797        * bindings/v8/custom/V8EventCustom.cpp:
31798
317992010-03-24  MORITA Hajime  <morrita@google.com>
31800
31801        Reviewed by Darin Adler.
31802
31803        Refactoring: HTMLFormControlElement should not have redundant null check
31804        https://bugs.webkit.org/show_bug.cgi?id=36487
31805        
31806        No new tests as there is no new functionality.        
31807
31808        * html/HTMLFormControlElement.cpp:
31809        (WebCore::HTMLFormControlElement::dispatchFocusEvent):
31810        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
31811
318122010-03-24  Eric Uhrhane  <ericu@chromium.org>
31813
31814        Reviewed by Alexey Proskuryakov.
31815
31816        DOMCoreException needs NoStaticTables modifier
31817        https://bugs.webkit.org/show_bug.cgi?id=36458
31818
31819        No new tests, but this shows up in tests of Database accesses from the
31820        Worker thread that I'll be checking in soon.  The symptom is that
31821        DOMCoreException.toString() returns [object DOMException] instead of
31822        something more helpful.
31823
31824        * dom/DOMCoreException.idl:  Added NoStaticTables.
31825
318262010-03-24  Drew Wilson  <atwilson@chromium.org>
31827
31828        Reviewed by Dmitry Titov.
31829
31830        Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
31831        https://bugs.webkit.org/show_bug.cgi?id=36514
31832
31833        Test: none (existing worker tests suffice)
31834
31835        * bindings/v8/V8Proxy.cpp:
31836        (WebCore::V8Proxy::setDOMException):
31837        Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
31838
318392010-03-23  Evan Martin  <evan@chromium.org>
31840
31841        Reviewed by Dmitry Titov.
31842
31843        [chromium] use integral glyph widths
31844        https://bugs.webkit.org/show_bug.cgi?id=36510
31845
31846        Despite WebKit (and Skia, to an extent) supporting non-integral
31847        glyph widths, the font code path we hit in Skia only supports
31848        integral glyph positions.  This means that we would accumulate
31849        offsets when drawing a sequence up non-integer-width glyphs
31850        which would cause gaps when snapped to the pixel grid when drawing.
31851
31852        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
31853        (WebCore::SimpleFontData::platformWidthForGlyph):
31854        round glyph widths to integers.
31855
318562010-03-24  Dean Jackson  <dino@apple.com>
31857
31858        Reviewed by Kevin Decker.
31859
31860        <rdar://problem/7785305>
31861        Fix regression caused by r55576. It turned out that ensuring
31862        CoreAnimation always gets a correct fill parameter caused flashing
31863        as non-filled animations ended (CA briefly showed the initial animation
31864        value before the style system set the final value).
31865
31866        * platform/graphics/mac/GraphicsLayerCA.mm:
31867        (WebCore::GraphicsLayerCA::setupAnimation):
31868
318692010-03-24  Hayato Ito  <hayato@chromium.org>
31870
31871        Reviewed by Shinichiro Hamaji.
31872
31873        Refactor computePageRects so that Mac can make use of it.
31874        https://bugs.webkit.org/show_bug.cgi?id=36159
31875
31876        Refactoring only, so no new tests.
31877
31878        * WebCore.base.exp:
31879        * page/PrintContext.cpp:
31880        (WebCore::PrintContext::computePageRects):
31881        (WebCore::PrintContext::computePageRectsWithPageSize):
31882        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
31883        (WebCore::PrintContext::pageNumberForElement):
31884        (WebCore::PrintContext::numberOfPages):
31885        * page/PrintContext.h:
31886
318872010-03-24  Jeremy Moskovich  <jeremy@chromium.org>
31888
31889        Reviewed by Jeremy Orlow.
31890
31891        Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
31892
31893        https://bugs.webkit.org/show_bug.cgi?id=36426
31894
31895        No new tests as there is no new functionality.
31896
31897        * loader/FrameLoader.cpp:
31898        (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
31899
319002010-03-24  Anton Muhin  <antonm@chromium.org>
31901
31902        Reviewed by Nate Chapin.
31903
31904        Use newly introduced SetPrototype method to deal with global objects.
31905        https://bugs.webkit.org/show_bug.cgi?id=36497
31906
31907        No new tests, should be covered by the current test infrastructure.
31908
31909        * bindings/v8/V8DOMWindowShell.cpp:
31910        (WebCore::V8DOMWindowShell::installDOMWindow):
31911        * bindings/v8/V8DOMWrapper.cpp:
31912        (WebCore::V8DOMWrapper::getConstructor):
31913        * bindings/v8/WorkerContextExecutionProxy.cpp:
31914        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
31915
319162010-03-24  Dmitry Titov  <dimich@chromium.org>
31917
31918        Unreviewed, Chromium build fix.
31919
31920        * platform/chromium/PopupMenuChromium.cpp:
31921        (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
31922        (WebCore::PopupContainer::layout): Remove unused variable.
31923
319242010-03-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31925
31926        Reviewed by Simon Hausmann.
31927
31928        Add a way to check if the page client is making use of
31929        a QWidget.
31930
31931        * platform/qt/QWebPageClient.h:
31932        (QWebPageClient::isQWidgetClient):
31933
319342010-03-24  Jay Campan  <jcampan@google.com>
31935
31936        Reviewed by Darin Fisher.
31937
31938        Making Chromium select popups not steal activation from the browser.
31939        Select popups are now like autocomplete popups, shown in non-activated
31940        windows.
31941        https://bugs.webkit.org/show_bug.cgi?id=36062
31942
31943        * page/chromium/ChromeClientChromium.h:
31944        * platform/chromium/PopupMenuChromium.cpp:
31945        (WebCore::):
31946        (WebCore::PopupListBox::setMaxHeight):
31947        (WebCore::PopupListBox::disconnectClient):
31948        (WebCore::PopupListBox::PopupListBox):
31949        (WebCore::PopupContainer::create):
31950        (WebCore::PopupContainer::PopupContainer):
31951        (WebCore::PopupContainer::showPopup):
31952        (WebCore::PopupContainer::showExternal):
31953        (WebCore::PopupContainer::hidePopup):
31954        (WebCore::PopupContainer::layout):
31955        (WebCore::PopupContainer::chromeClientChromium):
31956        (WebCore::PopupListBox::hidePopup):
31957        (WebCore::PopupListBox::layout):
31958        (WebCore::PopupMenu::~PopupMenu):
31959        (WebCore::PopupMenu::show):
31960        * platform/chromium/PopupMenuChromium.h:
31961        (WebCore::PopupItem::):
31962        (WebCore::PopupItem::PopupItem):
31963        (WebCore::PopupContainerSettings::):
31964        (WebCore::PopupContainer::):
31965        (WebCore::PopupContainer::listBox):
31966        (WebCore::PopupContainer::popupType):
31967
319682010-03-10  David Levin  <levin@chromium.org>
31969
31970        Reviewed by Oliver Hunt.
31971
31972        Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
31973        https://bugs.webkit.org/show_bug.cgi?id=35453
31974
31975        Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
31976        or outside of the DOM.
31977
31978        No change in functionality, so new tests.
31979
31980        * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
31981        into this class (and removed dependencies on document/html element).
31982        (WebCore::CanvasSurface::CanvasSurface):
31983        (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
31984        to avoid needing access to ~ImageBuffer in the header file.
31985        (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
31986        when the size changes. It is protected to force outside callers to go
31987        through HTMLCanvasElement::setSize.
31988        (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
31989        made a note about a method to fix for worker usage.
31990        (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
31991        which uses the renderbox and tracks a dirtyRect.
31992        (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
31993        rely on a member variable for page scale (to avoid using the document).
31994        (WebCore::CanvasSurface::createImageBuffer):
31995        (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
31996        (WebCore::CanvasSurface::buffer): Ditto.
31997        (WebCore::CanvasSurface::baseTransform): Ditto.
31998        * dom/CanvasSurface.h:
31999        (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
32000        (WebCore::CanvasSurface::height): Ditto.
32001        (WebCore::CanvasSurface::size): Ditto.
32002        (WebCore::CanvasSurface::setOriginTainted): Ditto.
32003        (WebCore::CanvasSurface::originClean): Ditto.
32004        (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
32005        * html/HTMLCanvasElement.cpp:
32006        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
32007        so it doesn't need the document.
32008        (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
32009        (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
32010        (WebCore::HTMLCanvasElement::paint): Ditto.
32011        * html/HTMLCanvasElement.h:
32012        (WebCore::HTMLCanvasElement::setSize): Ditto.
32013        * platform/MIMETypeRegistry.cpp:
32014        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
32015        to verify that this is only called on the main thread.
32016        * platform/graphics/Image.cpp:
32017        (WebCore::Image::nullImage): Ditto.
32018        * platform/graphics/cg/ImageBufferCG.cpp:
32019        (WebCore::utiFromMIMEType): Ditto.
32020
320212010-03-24  Alexander Pavlov  <apavlov@chromium.org>
32022
32023        Reviewed by Pavel Feldman.
32024
32025        Inspector: XML Tags should not be converted to lowercase
32026        https://bugs.webkit.org/show_bug.cgi?id=28600
32027
32028        * inspector/front-end/ElementsPanel.js:
32029        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
32030        (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
32031        * inspector/front-end/ElementsTreeOutline.js:
32032        (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
32033        (WebInspector.ElementsTreeElement.prototype._updateChildren):
32034        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
32035
320362010-03-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
32037
32038        Reviewed by Antti Koivisto.
32039
32040        Add support for DOM Level 3 Custom Event
32041        http://www.w3.org/TR/DOM-Level-3-Events
32042
32043        V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
32044
32045        Test: fast/events/custom-event.html
32046
32047        * DerivedSources.cpp:
32048        * GNUmakefile.am:
32049        * WebCore.gypi:
32050        * WebCore.pri:
32051        * WebCore.pro:
32052        * WebCore/DerivedSources.make:
32053        * WebCore.vcproj/WebCore.vcproj:
32054        * WebCore.xcodeproj/project.pbxproj:
32055        * bindings/js/JSEventCustom.cpp:
32056        (WebCore::toJS):
32057        * bindings/scripts/CodeGeneratorJS.pm:
32058        * bindings/scripts/CodeGeneratorV8.pm:
32059        * dom/CustomEvent.cpp: Added.
32060        (WebCore::CustomEvent::CustomEvent):
32061        (WebCore::CustomEvent::initCustomEvent):
32062        (WebCore::CustomEvent::isCustomEvent):
32063        * dom/CustomEvent.h: Added.
32064        (WebCore::CustomEvent::create):
32065        (WebCore::CustomEvent::detail):
32066        * dom/Document.cpp:
32067        (WebCore::Document::createEvent):
32068        * dom/Event.cpp:
32069        (WebCore::Event::isCustomEvent):
32070        * dom/Event.h:
32071
320722010-03-24  Alexander Pavlov  <apavlov@chromium.org>
32073
32074        Reviewed by Pavel Feldman.
32075
32076        Web Inspector: Error when highlighting JavaScript with an invalid mime type
32077        https://bugs.webkit.org/show_bug.cgi?id=36530
32078
32079        * inspector/front-end/SourceTokenizer.js:
32080        (WebInspector.SourceTokenizer.Registry):
32081        * inspector/front-end/SourceView.js:
32082        (WebInspector.SourceView.prototype._contentLoaded):
32083        (WebInspector.SourceView.prototype._canonicalMimeType):
32084        * inspector/front-end/TextEditorHighlighter.js:
32085        (WebInspector.TextEditorHighlighter):
32086
320872010-03-24  Pavel Feldman  <pfeldman@chromium.org>
32088
32089        Not reviewed. Chromium test fix: added a frameCount check to the
32090        debugger function call.
32091
32092        * bindings/v8/V8Proxy.cpp:
32093        (WebCore::V8Proxy::createUtilityContext):
32094
320952010-03-19  Miikka Heikkinen  <miikka.heikkinen@digia.com>
32096
32097        Reviewed by Simon Hausmann.
32098
32099        [Qt] Support for QT_LIBINFIX in Symbian builds
32100
32101        Configuring Qt with -qtlibinfix parameter will enable installing
32102        an alternate version of Qt on devices that already have it on ROM.
32103        This patch provides support for infixed builds of Webkit.
32104
32105        * WebCore.pro:
32106
321072010-03-24  Kent Tamura  <tkent@chromium.org>
32108
32109        Reviewed by Darin Adler.
32110
32111        Make Icon::createIconForFiles() optional.
32112        https://bugs.webkit.org/show_bug.cgi?id=35072
32113
32114        r54923 made Icon::createIconForFiles() deprecated. However moving
32115        existing icon loading code to outside of WebCore is not good.  So,
32116        we assume:
32117        - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
32118          the primary API to load icons.
32119        - Icon::createIconForFiles() is an optional API to help
32120          implementing ChromeClient::iconForFiles().
32121
32122        This patch removes a call to Icon::createIconForFiles() from
32123        FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
32124        non-Chromium ports calls Icon::createIconForFiles().
32125
32126        * WebCore.base.exp: Export FileChooser::iconLoaded(),
32127          Icon::createIconForFiles(), and Icon::~Icon().
32128        * WebCore.xcodeproj/project.pbxproj: Export Icon.h
32129        * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
32130        * page/Chrome.cpp: ditto.
32131        * page/Chrome.h: ditto.
32132        * page/ChromeClient.h: ditto.
32133        * platform/FileChooser.cpp:
32134        (WebCore::FileChooser::loadIcon):
32135        * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
32136        * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
32137        * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
32138        * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
32139        * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
32140        * rendering/RenderFileUploadControl.h: ditto.
32141
321422010-03-23  Dan Bernstein  <mitz@apple.com>
32143
32144        Fixed typos.
32145
32146        * manual-tests/plugin-visible-rect-change.html:
32147
321482010-03-23  Dan Bernstein  <mitz@apple.com>
32149
32150        Reviewed by John Sullivan.
32151
32152        WebCore part of
32153        <rdar://problem/7197736> Plug-in clip rect does not update when overflow
32154        clip changes
32155        https://bugs.webkit.org/show_bug.cgi?id=36479.
32156
32157        * manual-tests/plugin-visible-rect-change.html: Added.
32158        * platform/mac/WidgetMac.mm:
32159        (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
32160        (WebCore::Widget::setFrameRect): If the visible rect changed but the
32161        frame rect did not, send a -visibleRectDidChange message to the view,
32162        if it responds to it.
32163        (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
32164        * rendering/RenderWidget.cpp:
32165        (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
32166        imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
32167        even if the frame rect did not.
32168        * rendering/RenderWidget.h:
32169        (WebCore::RenderWidget::windowClipRect): Added this accessor.
32170
321712010-03-23  Simon Fraser  <simon.fraser@apple.com>
32172
32173        Reviewed by Dan Bernstein.
32174
32175        Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
32176        https://bugs.webkit.org/show_bug.cgi?id=34065
32177        
32178        Fix another cause of assertions related to the clip rects root. Embeds
32179        with zero size caused the overlap testing to fail, yet we require them to work
32180        for correct compositing, so when the composited bounds is empty, use a 1x1 rect
32181        for overlap testing.
32182
32183        Test: compositing/geometry/empty-embed-rects.html
32184
32185        * rendering/RenderLayerCompositor.cpp:
32186        (WebCore::RenderLayerCompositor::addToOverlapMap):
32187        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
32188
321892010-03-23  David Levin  <levin@chromium.org>
32190
32191        Reviewed by Nate Chapin.
32192
32193        [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
32194        https://bugs.webkit.org/show_bug.cgi?id=36506
32195
32196        Test: http/tests/xmlhttprequest/send-undefined-and-null.html
32197
32198        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
32199        (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
32200        (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
32201        This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
32202        the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
32203        request body.
32204
322052010-03-23  Chris Evans  <cevans@chromium.org>
32206
32207        Reviewed by Darin Adler.
32208
32209        Fix hard-to-see crash due to incorrect libxml API usage.
32210
32211        https://bugs.webkit.org/show_bug.cgi?id=36000
32212
32213        Test: fast/text/bad-encoding.html
32214
32215        * dom/XMLTokenizerLibxml2.cpp:
32216        (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
32217
322182010-03-23  Nate Chapin  <japhet@chromium.org>
32219
32220        Unreviewed, revert r56376.
32221
32222        This revision introduced a crash in a couple of layout tests
32223        on Chromium Linux.
32224
32225        * page/chromium/ChromeClientChromium.h:
32226        * platform/chromium/PopupMenuChromium.cpp:
32227        (WebCore::):
32228        (WebCore::PopupContainer::create):
32229        (WebCore::PopupContainer::PopupContainer):
32230        (WebCore::PopupContainer::showPopup):
32231        (WebCore::PopupContainer::showExternal):
32232        (WebCore::PopupContainer::hidePopup):
32233        (WebCore::PopupMenu::show):
32234        * platform/chromium/PopupMenuChromium.h:
32235        (WebCore::PopupItem::):
32236        (WebCore::PopupItem::PopupItem):
32237        (WebCore::PopupContainerSettings::):
32238        (WebCore::PopupContainer::listBox):
32239
322402010-03-23  David Hyatt  <hyatt@apple.com>
32241
32242        Reviewed by Simon Fraser and Darin Adler.
32243
32244        https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
32245
32246        Added fast/css/nth-child-implied-step.html
32247
32248        * css/CSSGrammar.y:
32249        * css/tokenizer.flex:
32250
322512010-03-23  Darin Adler  <darin@apple.com>
32252
32253        Reviewed by Sam Weinig.
32254
32255        Reduce and straighten internal use of DOMImplementation
32256        https://bugs.webkit.org/show_bug.cgi?id=36501
32257
32258        * WebCore.xcodeproj/project.pbxproj: Xcode decided to
32259        re-sort this file.
32260
32261        * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
32262
32263        * dom/DOMImplementation.cpp: Removed unneeded createDocument and
32264        createHTMLDocument functions. These should be done directly instead
32265        of involving the DOMImplementation class.
32266        * dom/DOMImplementation.h: Ditto.
32267
32268        * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
32269
32270        * html/HTMLViewSourceDocument.cpp:
32271        (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
32272        DOMImplementation object just to use a class member function.
32273
32274        * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
32275
32276        * xml/XMLHttpRequest.cpp:
32277        (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
32278        new document instead of involving DOMImplementation.
32279        * xml/XSLTProcessor.cpp:
32280        (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
32281        where we do need to call DOMImplementation to interpret the MIME type,
32282        don't allocate a DOMImplementation object just to use a class member
32283        function.
32284
322852010-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
32286
32287        Reviewed by Kenneth Rohde Christiansen.
32288
32289        [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
32290        https://bugs.webkit.org/show_bug.cgi?id=36367
32291
32292        Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
32293
32294        * WebCore.pri:
32295
322962010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32297
32298        Reviewed by David Kilzer.
32299
32300        Upstream iPhone KeyEvent platform code and share with Mac platform
32301        https://bugs.webkit.org/show_bug.cgi?id=35870
32302
32303        * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
32304        * platform/iphone/KeyEventIPhone.mm: Fixed headers.
32305
323062010-03-23  David Hyatt  <hyatt@apple.com>
32307
32308        Reviewed by Jeremy Orlow.
32309
32310        https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
32311        one (-).
32312
32313        Added fast/css/nth-child-unary-prefix.html
32314
32315        * css/tokenizer.flex:
32316
323172010-03-23  Andrey Kosyakov  <caseq@chromium.org>
32318
32319        Reviewed by Dmitry Titov.
32320
32321        Change notification sent to inspector frontend on workers creation / destruction
32322        to be posted asynchronously to avoid JS reenterability problems. Also, renamed
32323        willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
32324        rid of explicit IDs for workers (use addresses instead).
32325        https://bugs.webkit.org/show_bug.cgi?id=36213
32326
32327        * inspector/InjectedScriptHost.cpp:
32328        (WebCore::InjectedScriptHost::didDestroyWorker):
32329        * inspector/InjectedScriptHost.h:
32330        * inspector/InjectedScriptHost.idl:
32331        * inspector/InspectorController.cpp:
32332        (WebCore::PostWorkerNotificationToFrontendTask::create):
32333        (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
32334        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
32335        (WebCore::InspectorController::postWorkerNotificationToFrontend):
32336        (WebCore::InspectorController::didCreateWorker):
32337        (WebCore::InspectorController::didDestroyWorker):
32338        * inspector/InspectorController.h:
32339        (WebCore::InspectorController::):
32340        * inspector/InspectorFrontend.cpp:
32341        (WebCore::InspectorFrontend::didDestroyWorker):
32342        * inspector/InspectorFrontend.h:
32343        * inspector/InspectorWorkerResource.h:
32344        (WebCore::InspectorWorkerResource::create):
32345        (WebCore::InspectorWorkerResource::id):
32346        (WebCore::InspectorWorkerResource::InspectorWorkerResource):
32347        * inspector/front-end/InjectedFakeWorker.js:
32348        (InjectedFakeWorker.FakeWorker.prototype.terminate):
32349        * inspector/front-end/WorkersSidebarPane.js:
32350        (WebInspector.didDestroyWorker):
32351        * workers/AbstractWorker.cpp:
32352        (WebCore::AbstractWorker::AbstractWorker):
32353        (WebCore::AbstractWorker::onDestroyWorker):
32354        * workers/AbstractWorker.h:
32355        (WebCore::AbstractWorker::asID):
32356        * workers/SharedWorker.cpp:
32357        (WebCore::SharedWorker::SharedWorker):
32358        * workers/Worker.cpp:
32359        (WebCore::Worker::Worker):
32360
323612010-03-22  David Hyatt  <hyatt@apple.com>
32362
32363        Reviewed by Sam Weinig.
32364
32365        https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events.  Add support for
32366        IE onfocusin/onfocusout extensions to HTML.  The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
32367
32368        Added fast/events/focusinout.html
32369
32370        * dom/Document.cpp:
32371        (WebCore::Document::setFocusedNode):
32372        * dom/Event.cpp:
32373        (WebCore::Event::aliasedType):
32374        (WebCore::Event::hasAliasedType):
32375        * dom/Event.h:
32376        * dom/EventNames.h:
32377        * dom/EventTarget.cpp:
32378        (WebCore::EventTarget::fireEventListeners):
32379        * dom/EventTarget.h:
32380        * dom/Node.cpp:
32381        (WebCore::Node::dispatchUIEvent):
32382        * html/HTMLAttributeNames.in:
32383        * html/HTMLButtonElement.cpp:
32384        (WebCore::HTMLButtonElement::parseMappedAttribute):
32385        * html/HTMLElement.cpp:
32386        (WebCore::HTMLElement::parseMappedAttribute):
32387        * html/HTMLFormControlElement.cpp:
32388        (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
32389        * html/HTMLFrameSetElement.cpp:
32390        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
32391        * html/HTMLSelectElement.cpp:
32392        (WebCore::HTMLSelectElement::parseMappedAttribute):
32393        * svg/SVGElement.cpp:
32394        (WebCore::SVGElement::parseMappedAttribute):
32395
323962010-03-23  MORITA Hajime  <morrita@google.com>
32397
32398        Reviewed by Alexey Proskuryakov.
32399
32400        WebCore::SelectionController::setSelection NULL pointer
32401        https://bugs.webkit.org/show_bug.cgi?id=31545
32402
32403        Added missing NULL-check that other APIs have.
32404
32405        Test: svg/dom/frame-related-api-during-load.html
32406
32407        * svg/SVGSVGElement.cpp:
32408        (WebCore::SVGSVGElement::deselectAll):
32409
324102010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
32411
32412        Reviewed by Simon Hausmann.
32413
32414        [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
32415        https://bugs.webkit.org/show_bug.cgi?id=36444
32416
32417        Handle duplicated or unsorted colorStop at platformDestory
32418
32419        * platform/graphics/qt/GradientQt.cpp:
32420        (WebCore::Gradient::platformGradient):
32421
324222010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
32423
32424        Unreviewed build fix.
32425
32426        Try to make the window buildbot happy.
32427
32428        * xml/XMLHttpRequestProgressEventThrottle.cpp:
32429        * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
32430        static const in the cpp file.
32431
324322010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32433
32434        Reviewed by Timothy Hatcher.
32435
32436        Web Inspector: make gear menu appear on styles panel at all times.
32437
32438        https://bugs.webkit.org/show_bug.cgi?id=36490
32439
32440        * inspector/front-end/inspector.css:
32441
324422010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32443
32444        Reviewed by Timothy Hatcher.
32445
32446        Web Inspector: render nodes in inherited style bars as links.
32447
32448        https://bugs.webkit.org/show_bug.cgi?id=36486
32449
32450        * English.lproj/localizedStrings.js:
32451        * inspector/front-end/BreakpointsSidebarPane.js:
32452        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
32453        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
32454        * inspector/front-end/StylesSidebarPane.js:
32455        (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator):
32456        (WebInspector.StylesSidebarPane.prototype._update):
32457        (WebInspector.StylesSidebarPane.prototype._selectNode):
32458        * inspector/front-end/inspector.js:
32459
324602010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
32461
32462        Reviewed by Alexey Proskuryakov.
32463
32464        [XHR] onProgress event needs to be dispatched according to what the specification states
32465        https://bugs.webkit.org/show_bug.cgi?id=18654
32466
32467        Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
32468
32469        * Android.mk:
32470        * GNUmakefile.am:
32471        * WebCore.gypi:
32472        * WebCore.pro:
32473        * WebCore.vcproj/WebCore.vcproj:
32474        * WebCore.xcodeproj/project.pbxproj:
32475        Added XMLHttpRequestProgressEventThrottle to the build systems.
32476
32477        * xml/XMLHttpRequest.cpp:
32478        (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle.
32479        (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are
32480        dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we
32481        need to flush any pending progress event as we do not want it to be dispatched after
32482        the DONE readyState event.
32483        (WebCore::XMLHttpRequest::createRequest): Made this event use the
32484        XMLHttpRequestProgressEventThrottle for event dispatching.
32485        (WebCore::XMLHttpRequest::abort): Ditto.
32486        (WebCore::XMLHttpRequest::networkError): Ditto.
32487        (WebCore::XMLHttpRequest::abortError): Ditto.
32488        (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning.
32489        (WebCore::XMLHttpRequest::suspend):
32490        (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume.
32491        * xml/XMLHttpRequest.h:
32492        * xml/XMLHttpRequestProgressEventThrottle.cpp: Added.
32493        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
32494        (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle):
32495        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk
32496        of the event throttling here: we use a timer to do so, as long as the timer is active it means
32497        that events are coming faster than the throttling time and we coalesce them.
32498        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event.
32499        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch
32500        any pending events and stopping any further dispatching.
32501        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event
32502        that was queued due to the object being suspended.
32503        (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event.
32504        (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have
32505        an event to dispatch.
32506        (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended.
32507        (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued.
32508        * xml/XMLHttpRequestProgressEventThrottle.h: Added.
32509        (WebCore::):
32510        (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
32511
325122010-03-23  Pavel Feldman  <pfeldman@chromium.org>
32513
32514        Reviewed by Timothy Hatcher.
32515
32516        Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
32517
32518        https://bugs.webkit.org/show_bug.cgi?id=36488
32519
32520        Test: inspector/elements-panel-search.html
32521
32522        * inspector/front-end/ElementsPanel.js:
32523        (WebInspector.ElementsPanel.prototype.performSearch):
32524        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
32525        * inspector/front-end/InjectedScript.js:
32526        (injectedScriptConstructor.):
32527        (injectedScriptConstructor):
32528
325292010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
32530
32531        Reviewed by Simon Hausmann.
32532
32533        [Qt]  fast/canvas/patternfill-repeat.html failed.
32534        https://bugs.webkit.org/show_bug.cgi?id=34477
32535
32536        Change Pattern to expose the repeatX and repeatY
32537        At GraphicsContextQt to apply repeatX and repeatY
32538
32539        * platform/graphics/Pattern.h:
32540        (WebCore::Pattern::repeatX):
32541        (WebCore::Pattern::repeatY):
32542        * platform/graphics/qt/GraphicsContextQt.cpp:
32543        (WebCore::GraphicsContext::drawLine):
32544        (WebCore::GraphicsContext::fillRect):
32545        (WebCore::GraphicsContext::rotate):
32546
325472010-03-23  Alex Milowski  <alex@milowski.com>
32548
32549        Reviewed by Kenneth Rohde Christiansen.
32550
32551        Removed the use of beta STIX fonts.
32552
32553        * css/mathml.css:
32554
325552010-03-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
32556
32557        Reviewed by Holger Freyther.
32558
32559        [GTK] Does not build with latest GTK+ development release
32560        https://bugs.webkit.org/show_bug.cgi?id=36398
32561
32562        Fix building with newest GTK+ versions.
32563
32564        * GNUmakefile.am:
32565        * platform/gtk/GtkPluginWidget.cpp:
32566        (WebCore::GtkPluginWidget::invalidateRect):
32567        (WebCore::GtkPluginWidget::paint):
32568        * platform/gtk/GtkVersioning.h: Added.
32569        * platform/gtk/PlatformScreenGtk.cpp:
32570        (WebCore::getVisual):
32571        (WebCore::screenRect):
32572        (WebCore::screenAvailableRect):
32573        * platform/gtk/ScrollbarGtk.cpp:
32574        (ScrollbarGtk::paint):
32575        * plugins/gtk/gtk2xtbin.c:
32576        (gtk_xtbin_set_position):
32577        (gtk_xtbin_unrealize):
32578
325792010-03-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
32580
32581        Reviewed by Kenneth Rohde Christiansen.
32582
32583        [Qt] Remove support for Qt v4.4
32584        https://bugs.webkit.org/show_bug.cgi?id=36389
32585
32586        No new tests as there is no new functionality.
32587
32588        * WebCore.pri:
32589        * WebCore.pro:
32590        * platform/network/qt/ResourceHandleQt.cpp:
32591        (WebCore::ResourceHandle::willLoadFromCache):
32592        * platform/qt/CookieJarQt.cpp:
32593        (WebCore::setCookies):
32594        (WebCore::cookies):
32595        * platform/qt/KURLQt.cpp:
32596        (WebCore::KURL::operator QUrl):
32597        * platform/qt/ScrollbarThemeQt.cpp:
32598        (WebCore::ScrollbarThemeQt::paintScrollCorner):
32599        * plugins/mac/PluginViewMac.cpp:
32600
326012010-03-23  Kent Tamura  <tkent@chromium.org>
32602
32603        Reviewed by Adam Barth.
32604
32605        Add checks if setNeedsWillValidateCheck() and
32606        setNeedsValidityCheck() are called correctly.
32607        https://bugs.webkit.org/show_bug.cgi?id=34924
32608
32609        Introduce HTMLFormControlElement::m_willValidate and
32610        m_isValid. They are the caches of willValidate() and
32611        isValidFormControlElement(). setNeedsWillValidateCheck() updates
32612        m_willValidate and setNeedsValidityCheck() updates m_isValid.
32613
32614        willValidate() and isValidFormControlElement() have assertions to
32615        check m_willvalidate or m_isValid has the correct state. If
32616        setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed
32617        to be called and is not called, these assertions fail.
32618
32619        * html/HTMLButtonElement.h:
32620        (WebCore::HTMLButtonElement::recalcWillValidate):
32621        * html/HTMLFieldSetElement.h:
32622        (WebCore::HTMLFieldSetElement::recalcWillValidate):
32623        * html/HTMLFormControlElement.cpp:
32624        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
32625        (WebCore::HTMLFormControlElement::parseMappedAttribute):
32626        (WebCore::HTMLFormControlElement::recalcWillValidate):
32627        (WebCore::HTMLFormControlElement::willValidate):
32628        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
32629        (WebCore::HTMLFormControlElement::validationMessage):
32630        (WebCore::HTMLFormControlElement::isValidFormControlElement):
32631        (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
32632        * html/HTMLFormControlElement.h:
32633        * html/HTMLInputElement.cpp:
32634        (WebCore::HTMLInputElement::setInputType):
32635        (WebCore::HTMLInputElement::parseMappedAttribute):
32636        (WebCore::HTMLInputElement::setValue):
32637        (WebCore::HTMLInputElement::recalcWillValidate):
32638        * html/HTMLInputElement.h:
32639        * html/HTMLTextAreaElement.cpp:
32640        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
32641
326422010-03-22  Pavel Feldman  <pfeldman@chromium.org>
32643
32644        Reviewed by Dave Hyatt.
32645
32646        Web Inspector: display CSS selector source line in the styles sidebar pane.
32647
32648        https://bugs.webkit.org/show_bug.cgi?id=36414
32649
32650        This change adds a sourceLine field into the CSSStyleRule that is populated
32651        from within the parser. CSSParser is now keeping track of the line numbers
32652        and last selector line number that is being used while creating CSSStyleRules.
32653
32654        Test: inspector/styles-source-lines.html
32655
32656        * css/CSSGrammar.y:
32657        * css/CSSParser.cpp:
32658        (WebCore::CSSParser::CSSParser):
32659        (WebCore::CSSParser::lex):
32660        (WebCore::CSSParser::countLines):
32661        (WebCore::CSSParser::createStyleRule):
32662        * css/CSSParser.h:
32663        (WebCore::CSSParser::updateLastSelectorLine):
32664        * css/CSSStyleRule.cpp:
32665        (WebCore::CSSStyleRule::CSSStyleRule):
32666        * css/CSSStyleRule.h:
32667        (WebCore::CSSStyleRule::create):
32668        (WebCore::CSSStyleRule::sourceLine):
32669        * css/tokenizer.flex:
32670        * inspector/InspectorDOMAgent.cpp:
32671        (WebCore::InspectorDOMAgent::buildObjectForRule):
32672        * inspector/front-end/DOMAgent.js:
32673        (WebInspector.CSSStyleDeclaration.parseRule):
32674        * inspector/front-end/StylesSidebarPane.js:
32675        (WebInspector.StylePropertiesSection):
32676
326772010-03-22  Qi Zhang  <qi.2.zhang@nokia.com>
32678
32679        Reviewed by Laszlo Gombos.
32680
32681        [Qt] Fix arc function in canvas
32682        https://bugs.webkit.org/show_bug.cgi?id=36296
32683
32684        Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc.
32685
32686        * platform/graphics/qt/PathQt.cpp:
32687        (WebCore::Path::addArc):
32688
326892010-03-19  Abhishek Arya  <inferno@chromium.org>
32690
32691        Reviewed by Adam Barth.
32692
32693        https://bugs.webkit.org/show_bug.cgi?id=36339
32694        Off-by-one memory corruption fix for long invalid websockets upgrade header
32695
32696        Test: websocket/tests/long-invalid-header.html
32697
32698        * websockets/WebSocketHandshake.cpp:
32699        (WebCore::WebSocketHandshake::readServerHandshake):
32700
327012010-03-22  Fumitoshi Ukai  <ukai@chromium.org>
32702
32703        Unreviewed build fix for Chromim Mac at r56376
32704
32705        Fix initializer order  of PopupContainer.
32706
32707        * platform/chromium/PopupMenuChromium.cpp:
32708        (WebCore::PopupContainer::PopupContainer):
32709
327102010-03-22  Jay Campan  <jcampan@google.com>
32711
32712        Reviewed by Darin Fisher.
32713
32714        Making Chromium select popups not steal activation from the browser.
32715        Select popups are now like autocomplete popups, shown in non-activated
32716        windows.
32717        https://bugs.webkit.org/show_bug.cgi?id=36062
32718
32719        * page/chromium/ChromeClientChromium.h:
32720        * platform/chromium/PopupMenuChromium.cpp:
32721        (WebCore::):
32722        (WebCore::PopupContainer::create):
32723        (WebCore::PopupContainer::PopupContainer):
32724        (WebCore::PopupContainer::~PopupContainer):
32725        (WebCore::PopupContainer::showPopup):
32726        (WebCore::PopupContainer::showExternal):
32727        (WebCore::PopupContainer::hidePopup):
32728        (WebCore::PopupMenu::show):
32729        * platform/chromium/PopupMenuChromium.h:
32730        (WebCore::PopupContainer::):
32731        (WebCore::PopupContainer::popupType):
32732
327332010-03-22  Dmitry Titov  <dimich@chromium.org>
32734
32735        Reviewed by Nate Chapin.
32736
32737        [v8] Crash if the worker is terminated before its initial script is executed.
32738        https://bugs.webkit.org/show_bug.cgi?id=36336
32739
32740        Test: fast/workers/termination-early.html
32741
32742        * bindings/v8/WorkerContextExecutionProxy.cpp:
32743        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0.
32744        (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed.
32745        * bindings/v8/WorkerContextExecutionProxy.h:
32746
327472010-03-22  Andrey Kosyakov  <caseq@chromium.org>
32748
32749        Reviewed by Pavel Feldman.
32750
32751        Support creation of fake workers before document is loaded by deferring
32752        attaching of fake workers iframe until document is loaded and buffering all
32753        messages addressed to worker.
32754        https://bugs.webkit.org/show_bug.cgi?id=36445
32755
32756        * inspector/front-end/InjectedFakeWorker.js:
32757        (InjectedFakeWorker.FakeWorker.prototype.postMessage):
32758        (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
32759        (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument):
32760        (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
32761
327622010-03-22  Darin Fisher  <darin@chromium.org>
32763
32764        Reviewed by Brady Eidson.
32765
32766        HistoryController::replaceState() should modify m_currentItem
32767        instead of the current HistoryItem of the BackForwardList.
32768
32769        https://bugs.webkit.org/show_bug.cgi?id=36435
32770
32771        Test: fast/loader/stateobjects/replacestate-in-iframe.html
32772
32773        * loader/HistoryController.cpp:
32774        (WebCore::HistoryController::replaceState):
32775
327762010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32777
32778        Reviewed by David Kilzer.
32779
32780        Upstream Part of the iPhone Platform sharing code with the Mac Platform
32781        https://bugs.webkit.org/show_bug.cgi?id=35870
32782        <rdar://problem/7707283> and <rdar://problem/7707318>
32783
32784        Part 3 of 3: Shared code between iphone and mac. The shared code was
32785        refactored to be usable by both platforms without platform specific
32786        typing, meaning no NSEvent versus WebEvent special cases.
32787
32788          Shared code usable by either mac or iphone platforms.
32789
32790        * platform/cocoa/KeyEventCocoa.h:
32791        * platform/cocoa/KeyEventCocoa.mm:
32792        (WebCore::keyIdentifierForCharCode):
32793        (WebCore::windowsKeyCodeForKeyCode):
32794        (WebCore::windowsKeyCodeForCharCode):
32795
32796          Make use of the shared code. Keep anything platform specific in the
32797          original file before calling the shared code.
32798
32799        * platform/iphone/KeyEventIPhone.mm:
32800        (WebCore::keyIdentifierForKeyEvent):
32801        * platform/mac/KeyEventMac.mm:
32802        (WebCore::keyIdentifierForKeyEvent):
32803        (WebCore::windowsKeyCodeForKeyEvent):
32804
328052010-03-22  Kevin Decker  <kdecker@apple.com>
32806
32807        Reviewed by Simon Fraser.
32808
32809        https://bugs.webkit.org/show_bug.cgi?id=36328
32810
32811        * rendering/RenderEmbeddedObject.cpp:
32812        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch.
32813        Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 
32814        (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing
32815        the missing plug-in indicator.
32816        (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch.
32817        Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 
32818        (WebCore::RenderEmbeddedObject::paintReplaced): Ditto.
32819        * rendering/RenderEmbeddedObject.h: Ditto.
32820        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto.
32821        (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto.
32822
328232010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32824
32825        Reviewed by David Kilzer.
32826
32827        Upstream Part of the iPhone Platform sharing code with the Mac Platform
32828        https://bugs.webkit.org/show_bug.cgi?id=35870
32829        <rdar://problem/7707283>
32830
32831        Part 2 of 3: No changes other than moving code around.
32832        Copied KeyEvent function from platform/mac to a platform/cocoa shared directory.
32833
32834        * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files.
32835        * platform/cocoa/KeyEventCocoa.h: Added.
32836        * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm.
32837        (WebCore::keyIdentifierForKeyEvent):
32838        (WebCore::windowsKeyCodeForKeyEvent): Include the shared code.
32839        * platform/mac/KeyEventMac.mm:
32840
328412010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
32842
32843        Reviewed by David Kilzer.
32844
32845        Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform
32846        https://bugs.webkit.org/show_bug.cgi?id=35870
32847        <rdar://problem/7707283>
32848
32849        * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files.
32850        * platform/iphone: Added.
32851        * platform/iphone/KeyEventCodesIPhone.h: Added.
32852        * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE)
32853        * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC)
32854
328552010-03-22  Kevin Decker  <kdecker@apple.com>
32856    
32857        Attempt to fix the Leopard build.
32858        * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
32859
328602010-03-22  Justin Schuh  <jschuh@chromium.org>
32861
32862        Reviewed by Dirk Schulze.
32863
32864        Out of bounds read in SVG feColorMatrix filter
32865        https://bugs.webkit.org/show_bug.cgi?id=32714
32866
32867        Prevents an invalid read when a valid values attribute is not
32868        supplied for an feColorMatrix SVG filter. Also fixes general
32869        handling of missing or invalid values attribute.
32870
32871        Tests: svg/filters/feColorMatrix-invalid-value.svg
32872               svg/filters/feColorMatrix-values.svg
32873
32874        * svg/SVGFEColorMatrixElement.cpp:
32875        (WebCore::SVGFEColorMatrixElement::build):
32876
328772010-03-22  Philippe Normand  <pnormand@igalia.com>
32878
32879        Reviewed by Eric Carlson.
32880
32881        [GStreamer] Use ImageBuffer API to do painting
32882        https://bugs.webkit.org/show_bug.cgi?id=35783
32883
32884        New ImageGStreamer class abstracting the conversion of GStreamer
32885        buffers to cairo surfaces. Using this makes the painting code of
32886        the player more generic.
32887
32888        * GNUmakefile.am:
32889        * platform/graphics/gstreamer/ImageGStreamer.h: Added.
32890        (WebCore::ImageGStreamer::image):
32891        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added.
32892        (ImageGStreamer::createImage):
32893        (ImageGStreamer::ImageGStreamer):
32894        (ImageGStreamer::~ImageGStreamer):
32895        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
32896        (WebCore::MediaPlayerPrivate::paint):
32897        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
32898
328992010-03-22  Beth Dakin  <bdakin@apple.com>
32900
32901        Reviewed by Darin Adler.
32902
32903        Fix for <rdar://problem/7766437> With Web Inspector opened, a crash 
32904        occurs at Webcore:getMatchedCSSRules() when navigating to a 
32905        previous page
32906
32907        defaultView() can legitimately by null (as it is in this case), so 
32908        it must be null-checked.
32909
32910        * inspector/InspectorDOMAgent.cpp:
32911        (WebCore::InspectorDOMAgent::getStyles):
32912        (WebCore::InspectorDOMAgent::getComputedStyle):
32913        (WebCore::InspectorDOMAgent::getMatchedCSSRules):
32914
329152010-03-22  Kevin Decker  <kdecker@apple.com>
32916
32917        Reviewed by Darin.
32918
32919        https://bugs.webkit.org/show_bug.cgi?id=36328
32920        
32921        * loader/FrameLoader.cpp:
32922        (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail
32923        to generate a widget.
32924        * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants
32925        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false.
32926        (WebCore::RenderEmbeddedObject::paint): Added.
32927        (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle
32928        containing the text "Missing Plug-in".
32929        * rendering/RenderEmbeddedObject.h: Added the following two methods below.
32930        (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
32931        (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
32932        * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected.
32933
329342010-03-22  Jakub Wieczorek  <faw217@gmail.com>
32935
32936        Reviewed by Kenneth Rohde Christiansen.
32937
32938        [Qt] Phonon media backend: expose supported MIME types to WebCore
32939
32940        https://bugs.webkit.org/show_bug.cgi?id=33453
32941
32942        MediaPlayerPrivate should expose the MIME types that are supported
32943        by the underlying backend in Phonon.
32944
32945        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
32946        (WebCore::MediaPlayerPrivate::supportedTypesCache):
32947        (WebCore::MediaPlayerPrivate::getSupportedTypes):
32948        (WebCore::MediaPlayerPrivate::supportsType):
32949        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
32950
329512010-03-22  Alexander Pavlov  <apavlov@chromium.org>
32952
32953        Reviewed by Pavel Feldman.
32954
32955        Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit.
32956        https://bugs.webkit.org/show_bug.cgi?id=36424
32957
32958        * inspector/front-end/AuditRules.js:
32959        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
32960        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
32961        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
32962        * inspector/front-end/InjectedScript.js:
32963        (injectedScriptConstructor):
32964
329652010-03-22  Darin Adler  <darin@apple.com>
32966
32967        Reviewed by Dan Bernstein.
32968
32969        TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
32970        https://bugs.webkit.org/show_bug.cgi?id=36381
32971
32972        * platform/text/TextBreakIteratorICU.cpp:
32973        (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
32974        on conversion to void*.
32975        (WebCore::textBreakFirst): Ditto.
32976        (WebCore::textBreakLast): Ditto.
32977        (WebCore::textBreakNext): Ditto.
32978        (WebCore::textBreakPrevious): Ditto.
32979        (WebCore::textBreakPreceding): Ditto.
32980        (WebCore::textBreakFollowing): Ditto.
32981        (WebCore::textBreakCurrent): Ditto.
32982        (WebCore::isTextBreak): Ditto.
32983        (WebCore::setUpIteratorWithRules): Ditto.
32984
329852010-03-22  Eric Carlson  <eric.carlson@apple.com>
32986
32987        Reviewed by Sam Weinig.
32988
32989        Typo in GPL license text
32990        https://bugs.webkit.org/show_bug.cgi?id=36442
32991
32992        Fix typo - "aint with this library" -> "along with this library".
32993
32994        * bindings/scripts/CodeGenerator.pm:
32995        * bindings/scripts/CodeGeneratorJS.pm:
32996        * bindings/scripts/CodeGeneratorObjC.pm:
32997        * bindings/scripts/CodeGeneratorV8.pm:
32998        * bindings/scripts/IDLParser.pm:
32999        * bindings/scripts/IDLStructure.pm:
33000        * bindings/scripts/generate-bindings.pl:
33001
330022010-03-22  Jakub Wieczorek  <jwieczorek@webkit.org>
33003
33004        Reviewed by Simon Hausmann.
33005
33006        [Qt] Don't construct a QLineEdit every time when painting a text field
33007        https://bugs.webkit.org/show_bug.cgi?id=36373
33008
33009        Instead, keep one instance per RenderTheme around.
33010
33011        * platform/qt/RenderThemeQt.cpp:
33012        (WebCore::findFrameLineWidth):
33013
330142010-03-22  Luiz Agostini  <luiz.agostini@openbossa.org>
33015
33016        Reviewed by Kenneth Rohde Christiansen.
33017
33018        [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
33019        https://bugs.webkit.org/show_bug.cgi?id=36186
33020
33021        QtAbstractWebPopup must provide new methods to be used by its descendants that
33022        wish to handle <select multiple> elements.
33023
33024        * platform/qt/QtAbstractWebPopup.cpp:
33025        (WebCore::QtAbstractWebPopup::selectItem):
33026        (WebCore::QtAbstractWebPopup::multiple):
33027        * platform/qt/QtAbstractWebPopup.h:
33028
330292010-03-22  Alex Milowski  <alex@milowski.com>
33030
33031        Reviewed by Kenneth Rohde Christiansen.
33032
33033        Added basic support for mfrac (fractions)
33034
33035        Test: mathml/presentation/fractions.xhtml
33036
33037        * WebCore.xcodeproj/project.pbxproj:
33038        * mathml/MathMLInlineContainerElement.cpp:
33039        (WebCore::MathMLInlineContainerElement::createRenderer):
33040        * mathml/RenderMathMLFraction.cpp: Added.
33041        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
33042        (WebCore::RenderMathMLFraction::updateFromElement):
33043        (WebCore::RenderMathMLFraction::addChild):
33044        * mathml/RenderMathMLFraction.h: Added.
33045
330462010-03-22  Kevin Decker  <kdecker@apple.com>
33047
33048        Reviewed by John Sullivan.
33049
33050        https://bugs.webkit.org/show_bug.cgi?id=36328
33051
33052        * page/mac/WebCoreViewFactory.h: Added -missingPluginText method 
33053        * platform/LocalizedStrings.h: Added missingPluginText()
33054        * platform/gtk/LocalizedStringsGtk.cpp: Likewise.
33055        * platform/mac/LocalizedStringsMac.mm: Same here.
33056        * platform/qt/Localizations.cpp: Ditto.
33057
330582010-03-22  Yury Semikhatsky  <yurys@chromium.org>
33059
33060        Reviewed by Pavel Feldman.
33061
33062        Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners. 
33063
33064        https://bugs.webkit.org/show_bug.cgi?id=31171
33065
33066        * bindings/v8/V8AbstractEventListener.cpp:
33067        (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException.
33068        * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used.
33069        (WebCore::getScriptExecutionContext):
33070        * bindings/v8/V8Utilities.h:
33071        * bindings/v8/WorkerContextExecutionProxy.cpp:
33072        (WebCore::v8MessageHandler):
33073        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created.
33074
330752010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33076
33077        Reviewed by Simon Hausmann.
33078
33079        Add EFL-specific code to page/EventHandler.cpp.
33080        http://webkit.org/b/36306
33081
33082        * page/EventHandler.cpp:
33083
330842010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33085
33086        Reviewed by Simon Hausmann.
33087
33088        Add EFL-specific code to platform/DragImage.h and
33089        platform/DragData.h.
33090        http://webkit.org/b/36310
33091
33092        * platform/DragImage.h:
33093        * platform/DragData.h:
33094
330952010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33096
33097        Reviewed by Simon Hausmann.
33098
33099        Add EFL-specific code to platform/FileSystem.h.
33100        http://webkit.org/b/36313
33101
33102        * platform/FileSystem.h:
33103
331042010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33105
33106        Reviewed by Simon Hausmann.
33107
33108        Add EFL-specific code to platform/Cursor.h.
33109        http://webkit.org/b/36319
33110
33111        * platform/Cursor.h:
33112
331132010-03-22  Leandro Pereira  <leandro@profusion.mobi>
33114
33115        Reviewed by Simon Hausmann.
33116
33117        Add EFL-specific code to platform/NotImplemented.h.
33118        http://webkit.org/b/36320
33119
33120        * platform/NotImplemented.h:
33121
331222010-03-21  Kim Grönholm  <kim.gronholm@nomovok.com>
33123
33124        Reviewed by Simon Hausmann.
33125
33126        [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
33127        https://bugs.webkit.org/show_bug.cgi?id=35520
33128        
33129        The case where the list of source and target transform operations are 
33130        not the same but have the same size needs to be special-cased in
33131        GraphicsLayerQt, as well as the case where the source or target
33132        operation list is empty. The URLs listed here render correctly after
33133        applying the patch.
33134
33135        Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
33136               https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
33137            
33138
33139        * platform/graphics/qt/GraphicsLayerQt.cpp:
33140        (WebCore::TransformAnimationQt::applyFrame):
33141
331422010-03-21  Dmitry Gorbik  <socket.h@gmail.com>
33143
33144        <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
33145
33146        Reviewed by David Kilzer.
33147
33148        Fixed width calculation for cells with span when <col> is defined.
33149
33150        Test: fast/table/col-width-span-expand.html
33151
33152        * rendering/RenderTableCell.cpp:
33153        (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
33154        in case of <col> defined and span > 1.
33155
331562010-03-20  Antonio Gomes  <tonikitoo@webkit.org>
33157
33158        Reviewed by Kenneth Christiansen.
33159        Patch by Antonio Gomes <tonikitoo@webkit.org>
33160
33161        Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
33162        https://bugs.webkit.org/show_bug.cgi?id=36168
33163
33164        Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
33165        No functionalty change.
33166
33167        * page/FocusController.cpp:
33168        (WebCore::updateFocusCandidateIfCloser):
33169        * page/SpatialNavigation.cpp:
33170        (WebCore::distanceInDirection):
33171
331722010-03-20  Kevin Ollivier  <kevino@theolliviers.com>
33173
33174        [wx] Build fixes after recent changes.
33175
33176        * platform/graphics/wx/ImageWx.cpp:
33177        * wscript:
33178
331792010-03-20  Joseph Pecoraro  <joepeck@webkit.org>
33180
33181        Reviewed by David Kilzer.
33182
33183        Assertion failure in media/video-controls-with-mutation-event-handler.html
33184        https://bugs.webkit.org/show_bug.cgi?id=36376
33185
33186        Test: media/video-controls-with-mutation-event-handler.html
33187
33188        Break early (when not attached) in the defaultEventHandler before the
33189        slider is completely set up.
33190
33191        * rendering/MediaControlElements.cpp:
33192        (WebCore::MediaControlTimelineElement::defaultEventHandler):
33193        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
33194        * rendering/RenderMedia.cpp:
33195        (WebCore::RenderMedia::createVolumeSlider):
33196
331972010-03-19  Shinichiro Hamaji  <hamaji@chromium.org>
33198
33199        Reviewed by Dan Bernstein.
33200
33201        WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
33202        https://bugs.webkit.org/show_bug.cgi?id=34641
33203
33204        Don't dig into buttons and menu lists when finding which element
33205        should be modified by :first-letter pseudo class.  Even before
33206        this change, we didn't dig into inline buttons and menu lists as
33207        they are replaced so this issue wasn't found long time.
33208
33209        Test: fast/css/first-letter-block-form-controls-crash.html
33210
33211        * rendering/RenderBlock.cpp:
33212        (WebCore::RenderBlock::updateFirstLetter):
33213
332142010-03-19  Adam Barth  <abarth@webkit.org>
33215
33216        Reviewed by Daniel Bates.
33217
33218        Change XSSAuditor block syntax
33219        https://bugs.webkit.org/show_bug.cgi?id=34436
33220
33221        Update our blocking syntax to something more reasonable.  Also,
33222        implemented a way for a web site to disable the filter.
33223
33224        Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
33225               http/tests/security/xssAuditor/xss-protection-parsing-01.html
33226
33227        * page/XSSAuditor.cpp:
33228        (WebCore::XSSAuditor::xssProtection):
33229        (WebCore::XSSAuditor::findInRequest):
33230        * page/XSSAuditor.h:
33231        * platform/network/HTTPParsers.cpp:
33232        (WebCore::skipToken):
33233        (WebCore::parseXSSProtectionHeader):
33234        * platform/network/HTTPParsers.h:
33235        (WebCore::):
33236
332372010-03-19  Eric Uhrhane  <ericu@chromium.org>
33238
33239        Reviewed by Dmitry Titov.
33240
33241        Refactor DatabaseTracker.cpp for thread safety
33242        https://bugs.webkit.org/show_bug.cgi?id=34991
33243
33244        This enables calling into DatabaseTracker from multiple context threads,
33245        as will happen once Workers can access the Database.  It required a fair
33246        amount of reshuffling of locks.  I ended up splitting the public
33247        interface [calls that take locks and call private functions] from the
33248        implementations [calls that assert that locks are already held] in order
33249        to avoid lock conflicts.  I also had to make sure we weren't sharing
33250        Strings or SecurityOrigins across threads.
33251
33252        No new tests.
33253
33254        Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
33255
33256        * platform/sql/SQLiteDatabase.cpp:
33257        (WebCore::SQLiteDatabase::SQLiteDatabase):
33258        (WebCore::SQLiteDatabase::disableThreadingChecks):
33259        * platform/sql/SQLiteDatabase.h:
33260        (WebCore::SQLiteDatabase::sqlite3Handle):
33261        (WebCore::SQLiteDatabase::disableThreadingChecks):
33262
33263        Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
33264
33265        * storage/Database.cpp:
33266        (WebCore::Database::markAsDeletedAndClose):
33267        (WebCore::Database::close):
33268        * storage/Database.h:
33269        (WebCore::Database::):
33270        * storage/DatabaseDetails.h:
33271        (WebCore::DatabaseDetails::DatabaseDetails):
33272        (WebCore::DatabaseDetails::thread):
33273        * storage/DatabaseTask.cpp:
33274        (WebCore::DatabaseCloseTask::doPerformTask):
33275        * storage/DatabaseThread.cpp:
33276        (WebCore::DatabaseThread::databaseThread):
33277
33278        Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies.
33279        Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()].
33280        Private functions no longer take locks.
33281        m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted.
33282        m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy.
33283
33284        * storage/DatabaseTracker.h:
33285        * storage/DatabaseTracker.cpp:
33286        (WebCore::DatabaseTracker::originQuotaManagerNoLock):
33287        (WebCore::DatabaseTracker::originQuotaManager):
33288        (WebCore::DatabaseTracker::DatabaseTracker):
33289        (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
33290        (WebCore::DatabaseTracker::databaseDirectoryPath):
33291        (WebCore::DatabaseTracker::trackerDatabasePath):
33292        (WebCore::DatabaseTracker::openTrackerDatabase):
33293        (WebCore::DatabaseTracker::canEstablishDatabase):
33294        (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
33295        (WebCore::DatabaseTracker::hasEntryForOrigin):
33296        (WebCore::DatabaseTracker::hasEntryForDatabase):
33297        (WebCore::DatabaseTracker::originPath):
33298        (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
33299        (WebCore::DatabaseTracker::fullPathForDatabase):
33300        (WebCore::DatabaseTracker::populateOrigins):
33301        (WebCore::DatabaseTracker::origins):
33302        (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
33303        (WebCore::DatabaseTracker::databaseNamesForOrigin):
33304        (WebCore::DatabaseTracker::detailsForNameAndOrigin):
33305        (WebCore::DatabaseTracker::setDatabaseDetails):
33306        (WebCore::DatabaseTracker::usageForDatabase):
33307        (WebCore::DatabaseTracker::addOpenDatabase):
33308        (WebCore::DatabaseTracker::removeOpenDatabase):
33309        (WebCore::DatabaseTracker::usageForOriginNoLock):
33310        (WebCore::DatabaseTracker::usageForOrigin):
33311        (WebCore::DatabaseTracker::quotaForOriginNoLock):
33312        (WebCore::DatabaseTracker::quotaForOrigin):
33313        (WebCore::DatabaseTracker::setQuota):
33314        (WebCore::DatabaseTracker::addDatabase):
33315        (WebCore::DatabaseTracker::deleteAllDatabases):
33316        (WebCore::DatabaseTracker::deleteOrigin):
33317        (WebCore::DatabaseTracker::deleteDatabase):
33318        (WebCore::DatabaseTracker::deleteDatabaseFile):
33319        (WebCore::DatabaseTracker::setClient):
33320        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
33321        (WebCore::DatabaseTracker::notifyDatabasesChanged):
33322
33323        These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it.
33324        (WebCore::DatabaseTracker::canCreateDatabase):
33325        (WebCore::DatabaseTracker::recordCreatingDatabase):
33326        (WebCore::DatabaseTracker::doneCreatingDatabase):
33327        (WebCore::DatabaseTracker::creatingDatabase):
33328        (WebCore::DatabaseTracker::canDeleteDatabase):
33329        (WebCore::DatabaseTracker::recordDeletingDatabase):
33330        (WebCore::DatabaseTracker::doneDeletingDatabase):
33331        (WebCore::DatabaseTracker::deletingDatabase):
33332        (WebCore::DatabaseTracker::canDeleteOrigin):
33333        (WebCore::DatabaseTracker::deletingOrigin):
33334        (WebCore::DatabaseTracker::recordDeletingOrigin):
33335        (WebCore::DatabaseTracker::doneDeletingOrigin):
33336
33337        Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs.  There's a new tryLock() function in addition to the existing lock().
33338
33339        * storage/OriginQuotaManager.cpp:
33340        (WebCore::OriginQuotaManager::tryLock):
33341        (WebCore::OriginQuotaManager::trackOrigin):
33342        * storage/OriginQuotaManager.h:
33343
33344        * page/SecurityOrigin.cpp:
33345        (WebCore::SecurityOrigin::databaseIdentifier):
33346        Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe.
33347
333482010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
33349
33350        Reviewed by Antti Koivisto.
33351
33352        Multiselect popups - rendering
33353        https://bugs.webkit.org/show_bug.cgi?id=36006
33354
33355        The objective of this patch is to create a compile time flag that can be used
33356        to force all <select> elements to be rendered as menu lists.
33357
33358        Theme stylesheet mechanism has been used to change the appearance of the elements.
33359
33360        Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
33361        the needed information to render <select multiple> comboboxes.
33362
33363        * WebCore.pri:
33364        * WebCore.pro:
33365        * css/themeQtNoListboxes.css: Added.
33366        (select[size][multiple]):
33367        * dom/SelectElement.h:
33368        (WebCore::SelectElementData::usesMenuList):
33369        * platform/qt/QtStyleOptionWebComboBox.h: Added.
33370        (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
33371        (WebCore::QtStyleOptionWebComboBox::multiple):
33372        (WebCore::QtStyleOptionWebComboBox::checkMultiple):
33373        * platform/qt/RenderThemeQt.cpp:
33374        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
33375        (WebCore::RenderThemeQt::paintMenuList):
33376        (WebCore::RenderThemeQt::paintMenuListButton):
33377        * platform/qt/RenderThemeQt.h:
33378
333792010-03-19  Zhenyao Mo  <zmo@google.com>
33380
33381        Reviewed by Oliver Hunt.
33382
33383        Update WebGLArray.slice() to new spec
33384        https://bugs.webkit.org/show_bug.cgi?id-35612
33385
33386        * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs.
33387        (WebCore::JSWebGLArray::slice):
33388        * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto.
33389        (WebCore::V8WebGLArray::sliceCallback):
33390        * html/canvas/WebGLArray.cpp: Map start/end to offset/length.
33391        (WebCore::WebGLArray::calculateOffsetAndLength):
33392        * html/canvas/WebGLArray.h: Modified slice parameters.
33393        * html/canvas/WebGLArray.idl: Define custom binding for slice().
33394        * html/canvas/WebGLByteArray.cpp: Modified slice parameters.
33395        (WebCore::WebGLByteArray::slice):
33396        * html/canvas/WebGLByteArray.h: Ditto.
33397        * html/canvas/WebGLFloatArray.cpp: Ditto.
33398        (WebCore::WebGLFloatArray::slice):
33399        * html/canvas/WebGLFloatArray.h: Ditto.
33400        * html/canvas/WebGLIntArray.cpp: Ditto.
33401        (WebCore::WebGLIntArray::slice):
33402        * html/canvas/WebGLIntArray.h: Ditto.
33403        * html/canvas/WebGLShortArray.cpp: Ditto.
33404        (WebCore::WebGLShortArray::slice):
33405        * html/canvas/WebGLShortArray.h: Ditto.
33406        * html/canvas/WebGLUnsignedByteArray.cpp: Ditto.
33407        (WebCore::WebGLUnsignedByteArray::slice):
33408        * html/canvas/WebGLUnsignedByteArray.h: Ditto.
33409        * html/canvas/WebGLUnsignedIntArray.cpp: Ditto.
33410        (WebCore::WebGLUnsignedIntArray::slice):
33411        * html/canvas/WebGLUnsignedIntArray.h: Ditto.
33412        * html/canvas/WebGLUnsignedShortArray.cpp: Ditto.
33413        (WebCore::WebGLUnsignedShortArray::slice):
33414        * html/canvas/WebGLUnsignedShortArray.h: Ditto.
33415
334162010-03-19  Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
33417
33418        Reviewed by Darin Adler.
33419
33420        Ensure the segments inside SharedBuffer are merged before constructing
33421        a CFData with it.
33422
33423        https://bugs.webkit.org/show_bug.cgi?id=50843
33424
33425        * manual-tests/WebKitSite.webarchive: Added.
33426        * manual-tests/webarchive-test.html: Added.
33427        * platform/cf/SharedBufferCF.cpp:
33428        (WebCore::SharedBuffer::createCFData):
33429
334302010-03-19  Justin Schuh  <jschuh@chromium.org>
33431
33432        Reviewed by Oliver Hunt.
33433
33434        Security: ReadAV@NULL for negative feMorphology filter radius
33435        https://bugs.webkit.org/show_bug.cgi?id=34566
33436
33437        Prevents building the filter if either radius is negative.
33438        Catches negative radii resulting from conversions.
33439
33440        Test: svg/filters/feMorphology-invalid-radius.svg
33441
33442        * svg/SVGFEMorphologyElement.cpp:
33443        (WebCore::SVGFEMorphologyElement::build):
33444        * svg/graphics/filters/SVGFEMorphology.cpp:
33445        (WebCore::FEMorphology::apply):
33446
334472010-03-19  Chris Marrin  <cmarrin@apple.com>
33448
33449        Reviewed by Simon Fraser.
33450
33451        Fixed a crash with AnimationController getting deleted out from under itself.
33452        
33453        It's possible for the Frame that owns an AnimationController to get deleted
33454        in the EndTransitionEvent (or other animation events) to get deleted in the
33455        event handler. Normally this case is protected against by preventing the Frame
33456        from getting deleted until the end of the runloop. But native uses of the 
33457        WebView can subvert this protection. So I added a protector to the 
33458        animation event dispatcher to protect it in those cases.
33459
33460        Test: transitions/transition-end-event-destroy-iframe.html
33461
33462        * page/animation/AnimationController.cpp:
33463        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
33464
334652010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
33466
33467        Reviewed by Antti Koivisto.
33468
33469        Multiselect Popup - PopupMenuClient extension
33470        https://bugs.webkit.org/show_bug.cgi?id=36178
33471
33472        PopupMenuClient class is the interface used by combobox popup implementations.
33473        It needs to be extended to handle <select multiple> needs.
33474
33475        A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created.
33476        The use of this new class instead of adding methods to PopupMenuClient avoids changes
33477        in other non related implementations of PopupMenuClient.
33478
33479        RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
33480        and to have the new methods implemented.
33481
33482        * platform/PopupMenuClient.h:
33483        * rendering/RenderMenuList.cpp:
33484        (WebCore::RenderMenuList::listBoxSelectItem):
33485        (WebCore::RenderMenuList::multiple):
33486        * rendering/RenderMenuList.h:
33487
334882010-03-19  Simon Fraser  <simon.fraser@apple.com>
33489
33490        Reviewed by Dimitri Glazkov.
33491
33492        https://bugs.webkit.org/show_bug.cgi?id=36387
33493        REGRESSION: Can "uncheck" radio buttons by clicking on them
33494        
33495        My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue
33496        of allowsIndeterminate(), but this broke save/restore behavior on radio buttons.
33497        
33498        Fix by saving and restoring both the intermediate and checked state for radio buttons
33499        and checkboxes, as well as the "current radio button" state.
33500
33501        Test: fast/forms/radio-checkbox-restore-indeterminate.html
33502
33503        * html/HTMLInputElement.cpp:
33504        (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler()
33505        and postDispatchEventHandler().
33506        (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state
33507        and the current radio button.
33508        (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate.
33509        * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according
33510        to the spec.
33511
335122010-03-19  Alexander Pavlov  <apavlov@chromium.org>
33513
33514        Reviewed by Pavel Feldman.
33515
33516        Web Inspector: caret moves past prompt in javascript console
33517        https://bugs.webkit.org/show_bug.cgi?id=26602
33518
33519        Having noticed any Element children besides a leading <br> (which are empty
33520        text nodes), WebCore editing facility thinks it should delete the <br>,
33521        thus clearing away the text prompt contents.
33522
33523        * inspector/front-end/TextPrompt.js:
33524        (WebInspector.TextPrompt.prototype.clearAutoComplete):
33525        (WebInspector.TextPrompt.prototype._completionsReady):
33526        * inspector/front-end/utilities.js:
33527        (Element.prototype.pruneEmptyTextNodes):
33528
335292010-03-19  Adam Roben  <aroben@apple.com>
33530
33531        Windows clean build fix after r56192
33532
33533        * WebCore.vcproj/WebCore.vcproj: Copy headers from
33534        platform/graphics/cg to $WebKitOutputDir as part of the post-build
33535        event so that WebKit can use them. (The only one we currently require
33536        is FontPlatformData.h.)
33537
33538        * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
33539        build.
33540
335412010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33542
33543        Reviewed by David Kilzer.
33544
33545        Assertion failure in media/video-controls-with-mutation-event-handler.html
33546        https://bugs.webkit.org/show_bug.cgi?id=36376
33547
33548        Fix crashing test. Underlying the media element's volume slider is a
33549        range input, which sanitizes values before expected on the media control.
33550
33551        * rendering/RenderMedia.cpp:
33552        (WebCore::RenderMedia::createVolumeSlider):
33553
335542010-03-19  Brady Eidson  <beidson@apple.com>
33555
33556        Reviewed by Darin Adler.
33557
33558        3 of the new HTML5 loading events need to be asynchronous.
33559
33560        Laying the groundwork for:
33561        https://bugs.webkit.org/show_bug.cgi?id=36201
33562        https://bugs.webkit.org/show_bug.cgi?id=36202
33563        https://bugs.webkit.org/show_bug.cgi?id=36334
33564        https://bugs.webkit.org/show_bug.cgi?id=36335
33565
33566        Document already had an asynchronous event delivery mechanism for storage events, so
33567        we can repurpose that for all async events.
33568
33569        No new tests. (No change in behavior)
33570
33571        * dom/Document.cpp:
33572        (WebCore::Document::Document):
33573        (WebCore::Document::implicitClose): Use Document::schedule* for the related events.
33574        (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent
33575        (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired"
33576        (WebCore::Document::statePopped): Use Document::schedulePopstateEvent
33577        (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here.
33578          This will be made asynchronous in a separate patch.
33579        (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here.
33580          This will be made asynchronous in a separate patch.
33581        (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here.
33582          This will be made asynchronous in a separate patch.
33583        * dom/Document.h:
33584        (WebCore::):
33585
33586        * history/CachedFrame.cpp:
33587        (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
33588
33589        * loader/FrameLoader.cpp:
33590        (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
33591
33592        * storage/StorageEventDispatcher.cpp:
33593        (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
33594
335952010-03-19  Kevin Decker  <kdecker@apple.com>
33596
33597        Reviewed by Darin Adler and Brady Eidson.
33598
33599        First step toward:
33600        https://bugs.webkit.org/show_bug.cgi?id=36328
33601
33602        This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon
33603        be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of
33604        drawing the missing plug-in text. 
33605
33606        * loader/FrameLoader.cpp:
33607        (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it
33608        a RenderEmbeddedObject.
33609        (WebCore::FrameLoader::loadPlugin): Likewise.
33610        * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly. 
33611
336122010-03-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33613
33614        Reviewed by Simon Hausmann.
33615
33616        [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
33617        https://bugs.webkit.org/show_bug.cgi?id=36348
33618
33619        Backing store implementation for QtWebKit requires at least Qt
33620        version 4.6.
33621
33622        No new tests as there is no new functionality.
33623
33624        * WebCore.pri:
33625
336262010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33627
33628        Reviewed by David Kilzer.
33629
33630        <input type=range> does not validate correctly without a renderer and the tests are incorrect
33631        https://bugs.webkit.org/show_bug.cgi?id=36259
33632
33633        Setting value attribute on an <input type=range> to an out-of-range value fires oninput
33634        https://bugs.webkit.org/show_bug.cgi?id=16990
33635
33636        Part 2 of 2: When setting the range element's value, overflows and underflows
33637        are automatically sanitized to valid values. Moved the general case
33638        sanitization code out of the Renderer into HTMLInputElement::sanitizeValue.
33639
33640        * html/HTMLInputElement.cpp:
33641        (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided
33642        (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints
33643        * html/StepRange.cpp:
33644        (WebCore::StepRange::StepRange): allow const element in the constructor
33645        (WebCore::StepRange::clampValue): clamp from a String value
33646        * html/StepRange.h:
33647        (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints
33648        * rendering/RenderSlider.cpp:
33649        (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer
33650
336512010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
33652
33653        Reviewed by David Kilzer.
33654
33655        <input type=range> does not validate correctly without a renderer and the tests are incorrect
33656        https://bugs.webkit.org/show_bug.cgi?id=36259
33657
33658        Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider
33659        into a more appropriate place. Changed the named to StepRange. Changed
33660        from a struct to a class.
33661
33662          Added new files to the build.
33663
33664        * GNUmakefile.am:
33665        * WebCore.gypi:
33666        * WebCore.pro:
33667        * WebCore.vcproj/WebCore.vcproj:
33668        * WebCore.xcodeproj/project.pbxproj:
33669
33670          Renamed and moved class SliderRange to StepRange.
33671
33672        * html/StepRange.cpp: Added.
33673        (WebCore::StepRange::StepRange):
33674        (WebCore::StepRange::clampValue):
33675        (WebCore::StepRange::valueFromElement):
33676        (WebCore::sliderPosition):
33677        * html/StepRange.h: Added.
33678        (WebCore::StepRange::proportionFromValue):
33679        (WebCore::StepRange::valueFromProportion):
33680        * rendering/RenderSlider.cpp:
33681        (WebCore::RenderSlider::updateFromElement): updated to use StepRange
33682        (WebCore::RenderSlider::setValueForPosition): updated to use StepRange
33683
336842010-03-19  Antti Koivisto  <koivisto@iki.fi>
33685
33686        Reviewed by Simon Hausmann.
33687
33688        https://bugs.webkit.org/show_bug.cgi?id=36366
33689        Repaint loop when painting using scaled CTMs with different translations
33690
33691        The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality
33692        tests if the scaling has changed from the previous value by comparing the
33693        transformations. The test fails if the scale is the same but the translation 
33694        changes. This can lead to infinite repaint loop if the document is painted 
33695        in pieces using different translations (for example for tiling).
33696
33697        * rendering/RenderBoxModelObject.cpp:
33698        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
33699
337002010-03-19  Pavel Feldman  <pfeldman@chromium.org>
33701
33702        Reviewed by Timothy Hatcher.
33703
33704        Web Inspector: editing shorthands does not always work.
33705
33706        https://bugs.webkit.org/show_bug.cgi?id=36362
33707
33708        * inspector/InspectorDOMAgent.cpp:
33709        (WebCore::InspectorDOMAgent::applyStyleText):
33710        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
33711        (WebCore::InspectorDOMAgent::shorthandValue):
33712        * inspector/InspectorDOMAgent.h:
33713        * inspector/front-end/StylesSidebarPane.js:
33714        (WebInspector.StylePropertyTreeElement.prototype):
33715        * inspector/front-end/inspector.css:
33716        (.section .properties li.disabled .enabled-button):
33717        * inspector/front-end/inspector.js:
33718        (WebInspector.startEditing.editingCommitted):
33719
337202010-03-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
33721
33722        Reviewed by Simon Hausmann.
33723
33724        [Qt] Don't replace clip when drawing complex text
33725
33726        * platform/graphics/qt/FontQt.cpp:
33727
337282010-03-18  Darin Fisher  <darin@chromium.org>
33729
33730        Reviewed by Adam Barth.
33731
33732        If a frame is already in the document, then setting its "src" attribute
33733        should add the resultant navigation to history.
33734
33735        https://bugs.webkit.org/show_bug.cgi?id=9166
33736
33737        This behavior is specified in section 4.8.2 of the HTML5 spec.
33738
33739        Test: fast/loader/frame-src-change-added-to-history.html
33740
33741        * html/HTMLFrameElementBase.cpp:
33742        (WebCore::HTMLFrameElementBase::openURL):
33743        (WebCore::HTMLFrameElementBase::setLocation):
33744        * html/HTMLFrameElementBase.h:
33745        * loader/FrameLoader.cpp:
33746        (WebCore::FrameLoader::requestFrame):
33747        * loader/FrameLoader.h:
33748
337492010-03-18  Chris Evans  <cevans@chromium.org>
33750
33751        Reviewed by Nikolas Zimmermann.
33752
33753        Fix a minor crash with mismatched array sizes in SVG animation
33754        elements.
33755
33756        https://bugs.webkit.org/show_bug.cgi?id=35606
33757
33758        Test: svg/animations/keypoints-mismatch.svg
33759
33760        * svg/SVGAnimationElement.cpp:
33761        (WebCore::SVGAnimationElement::startedActiveInterval):
33762        Globally apply validations relevant to all animation types.
33763
337642010-03-18  Vangelis Kokkevis  <vangelis@chromium.org>
33765
33766        Reviewed by Adam Barth.
33767
33768        Implement software composited graphics layers in Chromium using the Skia library.
33769        https://bugs.webkit.org/show_bug.cgi?id=35557
33770        This is an initial step in the implementation. Layer compositing is functioning
33771        but not optimized in any way. Subsesquent check-ins will be necessary to fine tune
33772        it.
33773
33774        Test: No new exposed functionality so no new tests.
33775
33776        * WebCore.gypi:
33777          Added new source files to the chromium build
33778        * platform/graphics/GraphicsLayer.h:
33779          Added necessary typedef's and forward declarations for Chromium.
33780        * platform/graphics/skia/GraphicsLayerSkia.cpp: Added.
33781        * platform/graphics/skia/GraphicsLayerSkia.h: Added.
33782          Declaration and implementation of the platform-specific GraphicsLayer class.
33783        * platform/graphics/skia/LayerRendererSkia.cpp: Added.
33784        * platform/graphics/skia/LayerRendererSkia.h: Added.
33785          Declaration and implementation of the Skia-based software compositor.
33786        * platform/graphics/skia/LayerSkia.cpp: Added.
33787        * platform/graphics/skia/LayerSkia.h: Added.
33788          Declaration and implementation of a compositable layer that uses a Skia canvas
33789          for backing store.
33790
337912010-03-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
33792
33793        Reviewed by Darin Adler.
33794
33795        Make setPrinting() with printing=false, restore the previous
33796        media type in use.
33797
33798        Test: fast/media/print-restores-previous-mediatype.html
33799
33800        * page/Frame.cpp:
33801        (WebCore::Frame::setPrinting):
33802        * page/FrameView.cpp:
33803        (WebCore::FrameView::adjustMediaTypeForPrinting):
33804        * page/FrameView.h:
33805
338062010-03-18  David Kilzer  <ddkilzer@apple.com>
33807
33808        <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
33809
33810        Rubber-stamped by Darin Adler.
33811
33812        This declaration should have been removed in r47440.
33813
33814        * rendering/RenderReplaced.h:
33815        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
33816
338172010-03-18  Jian Li  <jianli@chromium.org>
33818
33819        Reviewed by Dmitry Titov.
33820
33821        Dragging a PDF image triggers assertion in DragController::startDrag()
33822        https://bugs.webkit.org/show_bug.cgi?id=36247
33823
33824        Test: fast/images/drag-pdf-as-image.html
33825
33826        * platform/graphics/cg/PDFDocumentImage.cpp:
33827        (WebCore::PDFDocumentImage::filenameExtension):
33828        * platform/graphics/cg/PDFDocumentImage.h:
33829
338302010-03-18  Simon Fraser  <simon.fraser@apple.com>
33831
33832        Reviewed by Dan Bernstein.
33833
33834        Avoid taking a reference to a String owned by a temporary AtomicString.
33835
33836        * css/CSSSelector.cpp:
33837        (WebCore::CSSSelector::RareData::parseNth):
33838
338392010-03-18  Chris Marrin  <cmarrin@apple.com>
33840
33841        Reviewed by Simon Fraser.
33842
33843        Fixed parenting issues with HW layers on Windows
33844        https://bugs.webkit.org/show_bug.cgi?id=32449
33845        
33846        CACF can't properly fix superlayer changes, so a layer added
33847        as a sublayer must have a null superlayer. I changed a couple of
33848        places that change sublayers to removeFromSuperlayer while adding
33849        to a new layer. This fixes both the problem of disappearing children
33850        and children getting doubled. Also got rid of removeSublayer(). Layers
33851        should always be removed from their parent with removeFromSuperlayer().
33852        
33853        This also removed moveLayer(), which is not used and may not be safe in how
33854        it copies.
33855
33856        * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these)
33857        (WebCore::GraphicsLayerCACF::setName):
33858        * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding
33859        (WebCore::WKCACFLayer::insertSublayer):
33860        (WebCore::WKCACFLayer::replaceSublayer):
33861        (WebCore::WKCACFLayer::removeFromSuperlayer):
33862        (WebCore::WKCACFLayer::setSublayers):
33863        (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging
33864        * platform/graphics/win/WKCACFLayer.h:
33865
338662010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
33867
33868        Unreviewed, build fix.
33869
33870        [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
33871        due to http://trac.webkit.org/changeset/56192,
33872
33873        * WebCore.gyp/WebCore.gyp: Changed the order.
33874
338752010-03-18  David Hyatt  <hyatt@apple.com>
33876
33877        Reviewed by Oliver Hunt.
33878
33879        https://bugs.webkit.org/show_bug.cgi?id=36325
33880
33881        Add support for stopImmediatePropagation from DOM Level 3 Events.
33882
33883        Added fast/events/stop-immediate-propagation.html.
33884
33885        * dom/Event.cpp:
33886        (WebCore::Event::Event):
33887        * dom/Event.h:
33888        (WebCore::Event::timeStamp):
33889        (WebCore::Event::stopPropagation):
33890        (WebCore::Event::stopImmediatePropagation):
33891        (WebCore::Event::propagationStopped):
33892        (WebCore::Event::immediatePropagationStopped):
33893        * dom/Event.idl:
33894        * dom/EventTarget.cpp:
33895        (WebCore::EventTarget::fireEventListeners):
33896
338972010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
33898
33899        Unreviewed, build fix.
33900
33901        Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
33902        The accessor was removed in http://trac.webkit.org/changeset/56188.
33903
33904        * page/Geolocation.h:
33905        (WebCore::Geolocation::frame): Added back.
33906
339072010-03-18  Brent Fulgham  <bfulgham@webkit.org>
33908
33909        Reviewed by Adam Roben.
33910
33911        Help reduce build problems due to font declarations.
33912        https://bugs.webkit.org/show_bug.cgi?id=36190
33913
33914        Functions unchanged, no new tests.
33915
33916        * WebCore.vcproj/WebCore.vcproj: Add new file, and show
33917          movement of FontPlatformData.h to cg/ directory.
33918        * platform/graphics/cairo/FontPlatformData.h: Merge in
33919          WinCairo-specific declarations.  Correct constructor
33920          declaration to use type float for font size.
33921        (WebCore::FontPlatformData::FontPlatformData):
33922        (WebCore::FontPlatformData::hfont):
33923        (WebCore::FontPlatformData::useGDI):
33924        (WebCore::FontPlatformData::fontFace):
33925        (WebCore::FontPlatformData::setSize):
33926        (WebCore::FontPlatformData::hash):
33927        (WebCore::FontPlatformData::isHashTableDeletedValue):
33928        * platform/graphics/cairo/FontPlatformDataCairo.cpp:
33929        (WebCore::FontPlatformData::FontPlatformData): Correct
33930          constructor to accept type float for font size.
33931        * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h.
33932        (WebCore::FontPlatformData::FontPlatformData):
33933        (WebCore::FontPlatformData::hfont):
33934        (WebCore::FontPlatformData::cgFont):
33935        (WebCore::FontPlatformData::operator==):
33936        * platform/graphics/win/FontPlatformData.h: Removed.
33937        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
33938        (WebCore::FontPlatformData::operator==): Move implementation
33939          here (previously in header) to match other cairo-based ports.
33940        * platform/graphics/win/RefCountedHFONT.h: Added.  This
33941          was extracted from win/FontPlatformData.h, and is now shared
33942          by the cg/FontPlatformData.h and cairo/FontPlatformData.h
33943        (WebCore::RefCountedHFONT::create):
33944        (WebCore::RefCountedHFONT::createDeleted):
33945        (WebCore::RefCountedHFONT::~RefCountedHFONT):
33946        (WebCore::RefCountedHFONT::hfont):
33947        (WebCore::RefCountedHFONT::hash):
33948        (WebCore::RefCountedHFONT::RefCountedHFONT):
33949
339502010-03-18  Simon Fraser  <simon.fraser@apple.com>
33951
33952        No review.
33953
33954        Fix brace style after r56170.
33955        
33956        * css/CSSStyleSelector.cpp:
33957        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
33958
339592010-03-18  Simon Fraser  <simon.fraser@apple.com>
33960
33961        Reviewed by Dave Hyatt.
33962
33963        https://bugs.webkit.org/show_bug.cgi?id=36274
33964        CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
33965        
33966        The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
33967
33968        Test: fast/css/nth-child-odd-case-insensitive.html
33969
33970        * css/CSSSelector.cpp:
33971        (WebCore::CSSSelector::RareData::parseNth):
33972
339732010-03-18  David Hyatt  <hyatt@apple.com>
33974
33975        Reviewed by Oliver Hunt.
33976
33977        https://bugs.webkit.org/show_bug.cgi?id=36265
33978
33979        Add support for event.defaultPrevented from DOM level 3.
33980    
33981        Added fast/events/defaultprevented.html
33982
33983        * dom/Event.idl:
33984
339852010-03-18  Darin Adler  <darin@apple.com>
33986
33987        Reviewed by Kenneth Rohde Christiansen.
33988
33989        Remove Geolocation.lastPosition, no longer in the spec.
33990        https://bugs.webkit.org/show_bug.cgi?id=36255
33991        rdar://problem/7746357
33992
33993        * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
33994
33995        * page/Geolocation.cpp:
33996        (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to
33997        call this if access to the location is allowed.
33998
33999        * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual,
34000        although it will still be virtual if any of the base classes have a virtual
34001        destructor. Made lastPosition, isAllowed, and isDenied functions private.
34002        Removed unused suspend, resume, setShouldClearCache, shouldClearCache,
34003        and frame functions.
34004
34005        * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
34006        the Geolocation specification.
34007
340082010-03-18  David Hyatt  <hyatt@apple.com>
34009
34010        Reviewed by Simon Fraser.
34011
34012        https://bugs.webkit.org/show_bug.cgi?id=36275
34013
34014        Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
34015        restriction on :not.)
34016
34017        Added fast/css/invalid-not-with-pseudo-element.html
34018
34019        * css/CSSGrammar.y:
34020        * css/CSSSelector.h:
34021        (WebCore::CSSSelector::matchesPseudoElement):
34022
340232010-03-18  Dan Bernstein  <mitz@apple.com>
34024
34025        Reviewed by Darin Adler.
34026
34027        <rdar://problem/7761400> Rework the fix for
34028        https://bugs.webkit.org/show_bug.cgi?id=18722
34029
34030        Test: fast/dynamic/float-remove-above-line-2.html
34031
34032        * rendering/RenderBlock.cpp:
34033        (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats
34034        as having a height of 1 so that they intersect with the line they originate on.
34035        (WebCore::RenderBlock::clearFloats): Use numeric_limits.
34036        * rendering/RenderBlockLineLayout.cpp:
34037        (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here,
34038        so that a float is always included in the float list of the line it originates on, even
34039        if it does not intersect that line. This ensures that every float is accounted for, which
34040        is necessary during incremental layout when adding floats from clean lines.
34041
340422010-03-18  Antti Koivisto  <koivisto@iki.fi>
34043
34044        Reviewed by Kenneth Rohde Christiansen.
34045
34046        https://bugs.webkit.org/show_bug.cgi?id=36102
34047        [Qt] Scaling control API for tiled backing store
34048        
34049        Commit the new scale synchronously after unfreeze to avoid ugliness.
34050
34051        * platform/graphics/TiledBackingStore.cpp:
34052        (WebCore::TiledBackingStore::TiledBackingStore):
34053        (WebCore::TiledBackingStore::setContentsScale):
34054        (WebCore::TiledBackingStore::commitScaleChange):
34055        (WebCore::TiledBackingStore::setContentsFrozen):
34056        * platform/graphics/TiledBackingStore.h:
34057
340582010-03-18  David Hyatt  <hyatt@apple.com>
34059
34060        Reviewed by Simon Fraser.
34061
34062        https://bugs.webkit.org/show_bug.cgi?id=36281
34063
34064        Make sure an exception is raised if an @import rule is inserted in the wrong place.
34065        
34066        Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped
34067        as transparent by getComputedStyle, since it most commonly occurs in background-color and
34068        that default makes more sense than dumping rgba values.
34069
34070        Added fast/css/invalid-import-insertion.html
34071
34072        * css/CSSPrimitiveValue.cpp:
34073        (WebCore::CSSPrimitiveValue::createColor):
34074        * css/CSSStyleSheet.cpp:
34075        (WebCore::CSSStyleSheet::insertRule):
34076
340772010-03-18  Luiz Agostini  <luiz.agostini@openbossa.org>
34078
34079        Reviewed by Kenneth Rohde Christiansen.
34080
34081        Multiselect Popup - Listbox click simulation
34082        https://bugs.webkit.org/show_bug.cgi?id=36177
34083
34084        Listbox popups will need to notify the corresponding select elements that a
34085        selection change happened. The current HTMLSelectElement interface does not
34086        allow multiple selections.
34087
34088        The new method  listBoxSelectItem will be used for that. I have refactored part
34089        of the mouse handling code in bug 36124 and I am now reusing it here for
34090        <select multiple> popups. All the other cases will handled as they were before to be
34091        sure that no side effects will show up.
34092
34093        * dom/SelectElement.cpp:
34094        (WebCore::SelectElement::updateListBoxSelection):
34095        (WebCore::SelectElement::listBoxOnChange):
34096        * dom/SelectElement.h:
34097        * html/HTMLSelectElement.cpp:
34098        (WebCore::HTMLSelectElement::listBoxPopupClick):
34099        * html/HTMLSelectElement.h:
34100
341012010-03-12  Ojan Vafai  <ojan@chromium.org>
34102
34103        Reviewed by David Levin.
34104
34105        smartdelete should only occur after double-click
34106        https://bugs.webkit.org/show_bug.cgi?id=35314
34107
34108        1. Consolidate all notions of selection-granularity into SelectionController.
34109        2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
34110
34111        New tests were added in http://trac.webkit.org/changeset/55913.
34112
34113        * WebCore.base.exp:
34114        * editing/MoveSelectionCommand.cpp:
34115        (WebCore::MoveSelectionCommand::MoveSelectionCommand):
34116        (WebCore::MoveSelectionCommand::doApply):
34117        * editing/MoveSelectionCommand.h:
34118        (WebCore::MoveSelectionCommand::create):
34119        * editing/SelectionController.cpp:
34120        (WebCore::SelectionController::SelectionController):
34121        (WebCore::SelectionController::setSelection):
34122        (WebCore::SelectionController::modify):
34123        (WebCore::SelectionController::clear):
34124        * editing/SelectionController.h:
34125        (WebCore::SelectionController::setSelection):
34126        (WebCore::SelectionController::granularity):
34127        * editing/VisibleSelection.cpp:
34128        (WebCore::VisibleSelection::VisibleSelection):
34129        (WebCore::VisibleSelection::expandUsingGranularity):
34130        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
34131        (WebCore::VisibleSelection::validate):
34132        * editing/VisibleSelection.h:
34133        (WebCore::operator==):
34134        * loader/FrameLoader.cpp:
34135        (WebCore::FrameLoader::clear):
34136        * page/DOMSelection.cpp:
34137        (WebCore::DOMSelection::extend):
34138        * page/DragController.cpp:
34139        (WebCore::DragController::concludeEditDrag):
34140        * page/EventHandler.cpp:
34141        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
34142        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
34143        (WebCore::EventHandler::handleMousePressEventTripleClick):
34144        (WebCore::EventHandler::handleMousePressEventSingleClick):
34145        (WebCore::EventHandler::updateSelectionForMouseDrag):
34146        * page/Frame.cpp:
34147        (WebCore::Frame::Frame):
34148        (WebCore::Frame::selectionGranularity):
34149        * page/Frame.h:
34150        * rendering/RenderTextControl.cpp:
34151        (WebCore::RenderTextControl::setSelectionRange):
34152
341532010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
34154
34155        Unreviewed, build fix.
34156
34157        [V8] Turn npObjectTypeInfo into a function, make everyone happy.
34158
34159        * bindings/v8/NPV8Object.cpp:
34160        (WebCore::npObjectTypeInfo): Added new function.
34161        (npCreateV8ScriptObject):
34162        * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function.
34163        * bindings/v8/V8NPObject.cpp: Replaced references to function
34164
341652010-03-18  David Hyatt  <hyatt@apple.com>
34166
34167        Reviewed by Simon Fraser.
34168
34169        https://bugs.webkit.org/show_bug.cgi?id=36283
34170        
34171        The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
34172        a single value.
34173
34174        Added fast/backgrounds/background-repeat-computed-style.html
34175
34176        * css/CSSComputedStyleDeclaration.cpp:
34177        (WebCore::fillRepeatToCSSValue):
34178
341792010-03-18  Simon Fraser  <simon.fraser@apple.com>
34180
34181        Reviewed by Dave Hyatt.
34182
34183        https://bugs.webkit.org/show_bug.cgi?id=36273
34184        CSS3 :indeterminate and input type=radio test fails
34185
34186        The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
34187
34188        * html/HTMLInputElement.cpp:
34189        (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input
34190        supports the indeterminate state.
34191        (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether
34192        to handle the indeterminate state.
34193        (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
34194        * html/HTMLInputElement.h:
34195        (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons
34196        and checkboxes.
34197
341982010-03-18  Simon Fraser  <simon.fraser@apple.com>
34199
34200        Reviewed by Dave Hyatt.
34201
34202        https://bugs.webkit.org/show_bug.cgi?id=36271
34203        CSS3 :enabled on an input type=hidden element fails
34204        
34205        The CSS3 selectors spec now makes it clear that hidden inputs should respect
34206        the :enabled and :disabled pseudo-classes.
34207
34208        Test: fast/forms/hidden-input-enabled.html
34209
34210        * css/CSSStyleSelector.cpp:
34211        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
34212
342132010-03-18  Enrica Casucci  <enrica@apple.com>
34214
34215        Reviewed by Simon Fraser.
34216
34217        Intro text at Star Wars demo is clipped.
34218        <rdar://problem/7560979>
34219        https://bugs.webkit.org/show_bug.cgi?id=33909
34220        
34221        Test: compositing/repaint/layer-repaint.html
34222        
34223        We are flipping the coordinates for drawing, therefore
34224        we must flip them also when we invalidate the rectangles.
34225
34226        * platform/graphics/win/GraphicsLayerCACF.cpp:
34227        (WebCore::WebLayer::setNeedsDisplay):
34228
342292010-03-18  Nate Chapin  <japhet@chromium.org>
34230
34231        Unreviewed, Chromium build fix.
34232
34233        Missed a #include in V8Collection.h.
34234
34235        * bindings/v8/V8Collection.h:
34236
342372010-03-18  David Hyatt  <hyatt@apple.com>
34238
34239        Reviewed by Simon Fraser.
34240
34241        Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
34242        
34243        Make sure the CSS parser properly rejects negative border widths.
34244
34245        Added fast/borders/negative-border-width.html
34246
34247        * css/CSSParser.cpp:
34248        (WebCore::CSSParser::parseValue):
34249
342502010-03-18  Nate Chapin  <japhet@chromium.org>
34251
34252        Reviewed by Dimitri Glazkov.
34253
34254        [V8] Remove V8Index.h and all references to V8ClassIndex.
34255        
34256        https://bugs.webkit.org/show_bug.cgi?id=33477
34257
34258        * WebCore.gypi:
34259        * bindings/scripts/CodeGeneratorV8.pm:
34260        * bindings/v8/NPV8Object.cpp:
34261        * bindings/v8/NPV8Object.h:
34262        * bindings/v8/V8Collection.h:
34263        * bindings/v8/V8DOMWindowShell.cpp:
34264        * bindings/v8/V8DOMWindowShell.h:
34265        * bindings/v8/V8DOMWrapper.cpp:
34266        * bindings/v8/V8DOMWrapper.h:
34267        * bindings/v8/V8GCController.cpp:
34268        * bindings/v8/V8Helpers.cpp:
34269        * bindings/v8/V8Index.h: Removed.
34270        * bindings/v8/V8IsolatedContext.h:
34271        * bindings/v8/V8NPObject.cpp:
34272        * bindings/v8/V8Proxy.cpp:
34273        * bindings/v8/V8Proxy.h:
34274        * bindings/v8/V8SVGPODTypeWrapper.h:
34275        * bindings/v8/WorkerContextExecutionProxy.cpp:
34276        * bindings/v8/WorkerContextExecutionProxy.h:
34277        * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h.
34278        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
34279        * bindings/v8/custom/V8DOMWindowCustom.cpp:
34280        * bindings/v8/custom/V8EventSourceConstructor.cpp:
34281        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
34282        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
34283        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
34284        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
34285        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
34286        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
34287        * bindings/v8/custom/V8HistoryCustom.cpp:
34288        * bindings/v8/custom/V8LocationCustom.cpp:
34289        * bindings/v8/custom/V8WebGLArrayCustom.h:
34290        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34291        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34292        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34293        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
34294        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34295        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34296        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34297        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34298        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
34299
343002010-03-18  Yury Semikhatsky  <yurys@chromium.org>
34301
34302        Reviewed by Pavel Feldman.
34303
34304        Preserve console history between debugging sessions.
34305
34306        https://bugs.webkit.org/show_bug.cgi?id=36223
34307
34308        * inspector/front-end/ConsoleView.js:
34309        (WebInspector.ConsoleView.prototype._settingsLoaded):
34310        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
34311        (WebInspector.ConsoleView.prototype._enterKeyPressed):
34312        * inspector/front-end/Settings.js:
34313        (WebInspector.Settings.prototype._load):
34314
343152010-03-18  Kim Grönholm  <kim.gronholm@nomovok.com>
34316
34317        Reviewed by Simon Hausmann.
34318
34319        [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
34320        https://bugs.webkit.org/show_bug.cgi?id=36219
34321        
34322        addAnimation and pauseAnimation were handling animation state changes in
34323        the wrong way.
34324        Apparently WebCore calls addAnimation for resuming, so we have to make 
34325        sure to resume an existing animation if that happens. Also, timeOffset 
34326        is now used for synchronization of the Qt animation clock with the 
34327        WebCore clock, as opposed to using it as a delay timer. 
34328        Both those fixes were necessary to get the layout test to work.
34329        
34330        LayoutTests/animations/play-state.html now passed on Qt.
34331
34332        * platform/graphics/qt/GraphicsLayerQt.cpp:
34333        (WebCore::AnimationQtBase::AnimationQtBase):
34334        (WebCore::TransformAnimationQt::updateState):
34335        (WebCore::GraphicsLayerQt::addAnimation):
34336        (WebCore::GraphicsLayerQt::pauseAnimation):
34337
343382010-03-18  Adam Langley  <agl@chromium.org>
34339
34340        Reviewed by David Levin.
34341
34342        [chromium] Fix inverted logic in per-strike renderer patch.
34343
34344        I screwed up in r55089 and got one of the conditions backwards. Thanks
34345        to Roman Tsisyk for pointing it out.
34346
34347        https://bugs.webkit.org/show_bug.cgi?id=35495
34348
34349        Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
34350
34351        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
34352        (WebCore::FontPlatformData::querySystemForRenderStyle):
34353
343542010-03-18  Pavel Feldman  <pfeldman@chromium.org>
34355
34356        Reviewed by Timothy Hatcher.
34357
34358        Web Inspector: Show inherited styles for a selected DOM element
34359
34360        https://bugs.webkit.org/show_bug.cgi?id=28039
34361
34362        * English.lproj/localizedStrings.js:
34363        * inspector/InspectorDOMAgent.cpp:
34364        (WebCore::InspectorDOMAgent::getStyles):
34365        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
34366        * inspector/front-end/DOMAgent.js:
34367        (WebInspector.CSSStyleDeclaration):
34368        * inspector/front-end/StylesSidebarPane.js:
34369        (WebInspector.StylesSidebarPane.prototype._update):
34370        (WebInspector.StylesSidebarPane.prototype._containsInherited):
34371        (WebInspector.StylePropertiesSection):
34372        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
34373        (WebInspector.StylePropertiesSection.prototype.onpopulate):
34374
343752010-03-15  Antonio Gomes  <tonikitoo@webkit.org>
34376
34377        Reviewed by Gustavo Noronha.
34378        Patch by Antonio Gomes <tonikitoo@webkit.org>
34379
34380        Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
34381        https://bugs.webkit.org/show_bug.cgi?id=36167
34382
34383        It turns out that Spatial Navigation related code (in FocusController.cpp for
34384        instance) can be simplified and look better if FocusCandidate class offer some
34385        convenience method. This patch introduces a couple of them (isNull and a Document
34386        getter). It also adds another constructor that receives a Node as parameter.
34387
34388        A followup refactoring patch will be making use of these helper methods.
34389
34390        * page/SpatialNavigation.h:
34391        (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter
34392        to FocusCandidate's constructor.
34393        (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL
34394        FocusCandidate object is one that does not hold a valid reference to a "Node*".
34395        (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate
34396        node's document, if |node| is a valid pointer.
34397
343982010-03-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
34399
34400        Reviewed by Antti Koivisto.
34401
34402        [Qt] [Performance] GraphicsLayerQt updates the scene too often
34403        https://bugs.webkit.org/show_bug.cgi?id=36158
34404
34405        This fix makes sure that flushChanges is only called when necessary,
34406        by calling the notifySync function asynchronously, which makes sure flushChanges() is called
34407        after the WebCore compositor has made all its changes.
34408
34409        This has shown a visual improvement on several test-cases.
34410
34411        * Makefile:
34412        * platform/graphics/qt/GraphicsLayerQt.cpp:
34413        (WebCore::GraphicsLayerQtImpl::):
34414        (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
34415        (WebCore::GraphicsLayerQtImpl::notifyChange):
34416        (WebCore::GraphicsLayerQtImpl::flushChanges):
34417        (WebCore::GraphicsLayerQt::setMaskLayer):
34418        (WebCore::GraphicsLayerQt::setPosition):
34419        (WebCore::GraphicsLayerQt::setAnchorPoint):
34420        (WebCore::GraphicsLayerQt::setSize):
34421        (WebCore::GraphicsLayerQt::setTransform):
34422        (WebCore::GraphicsLayerQt::setChildrenTransform):
34423        (WebCore::GraphicsLayerQt::setPreserves3D):
34424        (WebCore::GraphicsLayerQt::setMasksToBounds):
34425        (WebCore::GraphicsLayerQt::setDrawsContent):
34426        (WebCore::GraphicsLayerQt::setBackgroundColor):
34427        (WebCore::GraphicsLayerQt::clearBackgroundColor):
34428        (WebCore::GraphicsLayerQt::setContentsOpaque):
34429        (WebCore::GraphicsLayerQt::setBackfaceVisibility):
34430        (WebCore::GraphicsLayerQt::setOpacity):
34431        (WebCore::GraphicsLayerQt::setContentsRect):
34432
344332010-03-18  Stephen White  <senorblanco@chromium.org>
34434
34435        Reviewed by Oliver Hunt.
34436
34437        Parsing of rgb() colors in HTML canvas is still fairly slow.
34438        findNamedColor() was showing up as hot, so this patch attempts to
34439        avoid calling it by putting the rgb() check ahead of the named
34440        colors.  It also removes a call to Color::Color() from
34441        CanvasStyle, which was doing a redundant check for the hex
34442        color and named colors, which CSSParser already does.  Finally, it
34443        changes the ad-hoc parser to check for negative values, and clamps them
34444        at zero.  This avoids the lex/yacc path for rgb() colors with
34445        negative color components.
34446
34447        https://bugs.webkit.org/show_bug.cgi?id=36199
34448
34449        Covered by fast/canvas/set-colors.html.
34450
34451        * css/CSSParser.cpp:
34452        (WebCore::parseInt):
34453        (WebCore::CSSParser::parseColor):
34454        * html/canvas/CanvasStyle.cpp:
34455        (WebCore::CanvasStyle::applyFillColor):
34456
344572010-03-18  David Kilzer  <ddkilzer@apple.com>
34458
34459        <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
34460
34461        Reviewed by Sam Weinig.
34462
34463        * dom/Node.h:
34464        (WebCore::Node::removeAllEventListenersSlowCase): Removed
34465        declaration.  Implementation was removed in r48701.
34466
344672010-03-17  Stephan Aßmus  <superstippi@gmx.de>
34468
34469        Reviewed by Oliver Hunt.
34470
34471        [Haiku] Implement ImageBuffer support
34472        https://bugs.webkit.org/show_bug.cgi?id=35288
34473
34474        Covered by existing tests.
34475
34476        The StillImage class implements WebCore::Image by wrapping a native
34477        BBitmap. It will be needed to implement WebCore::ImageBuffer. This
34478        solution is just like it's done in the Qt port.
34479
34480        * platform/graphics/haiku/StillImageHaiku.cpp: Added.
34481        (WebCore::StillImage::StillImage):
34482        (WebCore::StillImage::destroyDecodedData):
34483        (WebCore::StillImage::decodedSize):
34484        (WebCore::StillImage::size):
34485        (WebCore::StillImage::nativeImageForCurrentFrame):
34486        (WebCore::StillImage::draw):
34487        * platform/graphics/haiku/StillImageHaiku.h: Added.
34488        (WebCore::StillImage::create):
34489
344902010-03-17  Holger Hans Peter Freyther  <zecke@selfish.org>
34491
34492        Rubber stamped by Gustavo Noronha Silva.
34493
34494        [Gtk+] Avoid making a copy of the HTTPHeaderMap.
34495
34496        ResourceRequest::httpHeaderFields() is returning a const
34497        reference but we are storing it as a simple value. This
34498        means that we run either the copy constructor or the assignment
34499        operator and make a copy of the RefPtrs.
34500
34501        This extra copy can be avoided easily by storing
34502        the result as a const reference.
34503
34504        * platform/network/soup/ResourceRequestSoup.cpp:
34505        (WebCore::ResourceRequest::toSoupMessage):
34506        * platform/network/soup/ResourceResponseSoup.cpp:
34507        (WebCore::ResourceResponseSoup::toSoupMessage):
34508
345092010-03-17  Alexander Pavlov  <apavlov@chromium.org>
34510
34511        Reviewed by Pavel Feldman.
34512
34513        Web Inspector: When switching resources in the Resources panel, the Content tab is always selected
34514        https://bugs.webkit.org/show_bug.cgi?id=36222
34515
34516        * inspector/front-end/ResourcesPanel.js:
34517        (WebInspector.ResourcesPanel.prototype.showResource):
34518
345192010-03-17  Brady Eidson  <beidson@apple.com>
34520
34521        Reviewed by Darin Adler.
34522
34523        databaseIdentifiers are not filtered for slashes
34524        <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
34525
34526        In addition to filtering for '/' and '\', to remove the directory vulnerability
34527        on all platforms, it seems worth it to also escape other characters that are
34528        obviously dangerous or illegal to have in a filename (mostly inspired by the 
34529        Windows illegal-character list).
34530
34531        No new tests - It's unclear how a test could possibly work into our testing
34532        infrastructure.
34533
34534        * page/SecurityOrigin.cpp:
34535        (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
34536          for lower-ASCII.
34537        (WebCore::SecurityOrigin::SecurityOrigin):
34538        (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host
34539          component using the KURL utility.
34540        (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the 
34541          needsEscaping table. Otherwise, let it pass.
34542        (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted 
34543          for the escaping considerations for the host component. We don't use the KURL
34544          version because this one is "different" enough because it operates on UTF16 and
34545          has its own "is bad character?" decider.
34546        (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed,
34547          and use it instead of the unescaped host.
34548        * page/SecurityOrigin.h:
34549
345502010-03-17  Dmitry Titov  <dimich@chromium.org>
34551
34552        Reviewed by Dimitri Glazkov.
34553
34554        [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
34555        https://bugs.webkit.org/show_bug.cgi?id=36239
34556
34557        Test: fast/workers/termination-with-port-messages.html
34558
34559        * bindings/v8/V8Proxy.h:
34560        (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways.
34561        * bindings/v8/WorkerScriptController.h:
34562        (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8.
34563        * bindings/v8/custom/V8WorkerContextCustom.cpp:
34564        (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0.
34565        (WebCore::toV8): Ditto
34566
345672010-03-17  José Millán Soto  <jmillan@igalia.com>
34568
34569        Reviewed by Adam Barth.
34570
34571        Change the way of prefetching DNS to allow prefetching function to use full URL
34572        https://bugs.webkit.org/show_bug.cgi?id=35589
34573
34574        Creates a new function, ResourceHandle::prepareForURL, whose default implementation
34575        calls prefetchDNS with the host of the given URL as the parameter.
34576        Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri.
34577        Soup implementation of prefetchDNS is removed.
34578        Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls.
34579
34580        * GNUmakefile.am:
34581        * html/HTMLAnchorElement.cpp:
34582        (WebCore::HTMLAnchorElement::parseMappedAttribute):
34583        * html/HTMLLinkElement.cpp:
34584        (WebCore::HTMLLinkElement::process):
34585        * page/Chrome.cpp:
34586        (WebCore::Chrome::mouseDidMoveOverElement):
34587        * platform/network/DNS.h:
34588        * platform/network/ResourceHandle.cpp:
34589        (WebCore::ResourceHandle::prepareForURL):
34590        * platform/network/ResourceHandle.h:
34591        * platform/network/chromium/DNSChromium.cpp:
34592        (WebCore::ResourceHandle::prepareForURL):
34593        * platform/network/soup/DNSSoup.cpp: Removed.
34594        * platform/network/soup/ResourceHandleSoup.cpp:
34595        (WebCore::ResourceHandle::prepareForURL):
34596        * wml/WMLAElement.cpp:
34597        (WebCore::WMLAElement::parseMappedAttribute):
34598
345992010-03-17  Kenneth Russell  <kbr@google.com>
34600
34601        Reviewed by Darin Fisher.
34602
34603        Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
34604        https://bugs.webkit.org/show_bug.cgi?id=36233
34605
34606        The patch for bug 33416, which added multisampling support to the
34607        WebGL back buffer, uncovered some OpenGL driver bugs on the build
34608        bots which need further investigation to determine the appropriate
34609        workaround. Reverting this change, the minor build fix in 36189,
34610        and the skipping of the affected tests in bug 36200.
34611
34612        Built and tested WebKit and Chromium and ran all WebGL layout
34613        tests in both.
34614
34615        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
34616        (WebCore::V8HTMLCanvasElement::getContextCallback):
34617        * platform/graphics/GraphicsContext3D.h:
34618        * platform/graphics/mac/Canvas3DLayer.h:
34619        * platform/graphics/mac/Canvas3DLayer.mm:
34620        (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
34621        * platform/graphics/mac/GraphicsContext3DMac.cpp:
34622        (WebCore::GraphicsContext3D::GraphicsContext3D):
34623        (WebCore::GraphicsContext3D::~GraphicsContext3D):
34624        (WebCore::GraphicsContext3D::reshape):
34625        (WebCore::GraphicsContext3D::bindFramebuffer):
34626        (WebCore::GraphicsContext3D::readPixels):
34627        * platform/graphics/mac/GraphicsLayerCA.mm:
34628        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
34629
346302010-03-17  Yael Aharon  <yael.aharon@nokia.com>
34631
34632        Reviewed by Darin Adler.
34633
34634        Optimize painting for HTMLProgressElement
34635        https://bugs.webkit.org/show_bug.cgi?id=36113
34636        Cache the progress bar's position, so it is not required to recalculate
34637        it for each repaint. 
34638        Call repaintRectangle() when the position changes.
34639
34640        No new tests, as no new functionality introduced.
34641
34642        * html/HTMLProgressElement.cpp:
34643        (WebCore::HTMLProgressElement::parseMappedAttribute):
34644        * platform/qt/RenderThemeQt.cpp:
34645        (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition):
34646        (WebCore::RenderThemeQt::paintProgressBar):
34647        * platform/qt/RenderThemeQt.h:
34648        * rendering/RenderProgress.cpp:
34649        (WebCore::RenderProgress::RenderProgress):
34650        (WebCore::RenderProgress::updateFromElement):
34651        * rendering/RenderProgress.h:
34652        (WebCore::RenderProgress::position):
34653        * rendering/RenderTheme.cpp:
34654        (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition):
34655        * rendering/RenderTheme.h:
34656
346572010-03-17  Antonio Gomes  <tonikitoo@webkit.org>
34658
34659        Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
34660
34661        Reviewed by Simon fraser.
34662        Patch by Antonio Gomes <tonikitoo@webkit.org>
34663
34664        * dom/SelectElement.cpp:
34665        (WebCore::SelectElement::listBoxDefaultEventHandler):
34666
346672010-03-17  Enrica Casucci  <enrica@apple.com>
34668
34669        Reviewed by Darin Adler.
34670
34671        Missing support for showing compositing layers borders and repaint count on Windows.
34672        <rdar://problem/7760736>
34673        <https://bugs.webkit.org/show_bug.cgi?id=36197>
34674
34675        * platform/graphics/win/GraphicsLayerCACF.cpp:
34676        (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
34677
346782010-03-16  Luiz Agostini  <luiz.agostini@openbossa.org>
34679
34680        Reviewed by Antti Koivisto.
34681
34682        [Qt] Multiselect Popup - SelectElement refactoring.
34683        https://bugs.webkit.org/show_bug.cgi?id=36124
34684
34685        As it is today it is not possible to the menulists popups to tell SelectElement
34686        that more then one option is selected. If you select one the other ones
34687        selected state will turn off.
34688
34689        For <select multiple> I needed to extend the API used by menulist popups. This
34690        is the first step. Just refactoring SelectElement without any behavior change.
34691        Separating code that will be reused in future patches.
34692
34693        * dom/SelectElement.cpp:
34694        (WebCore::SelectElement::updateSelectedState):
34695        (WebCore::SelectElement::listBoxDefaultEventHandler):
34696        * dom/SelectElement.h:
34697
346982010-03-17  Nate Chapin  <japhet@chromium.org>
34699
34700        Unreviewed, Chromium build fix.
34701
34702        Delete the correct file this time.
34703
34704        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
34705        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
34706
347072010-03-17  Nate Chapin  <japhet@chromium.org>
34708
34709        Reviewed by Dimitri Glazkov.
34710
34711        [V8] Remove custom bindings callbacks that aren't in use.
34712        (The relevant .idl doesn't mark them as V8Custom or Custom).
34713        
34714        https://bugs.webkit.org/show_bug.cgi?id=33066
34715
34716        * Android.v8bindings.mk:
34717        * WebCore.gypi:
34718        * bindings/scripts/CodeGeneratorV8.pm:
34719        * bindings/v8/custom/V8DOMWindowCustom.cpp:
34720        * bindings/v8/custom/V8WebGLArrayCustom.h:
34721        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34722        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34723        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34724        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34725        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34726        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34727        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34728        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
34729        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
34730
347312010-03-17  Steve Block  <steveblock@google.com>
34732
34733        Reviewed by Dimitri Glazkov.
34734
34735        Adds ENABLE(WORKERS) guards to V8 bindings
34736        https://bugs.webkit.org/show_bug.cgi?id=36221
34737
34738        Build fix only, no new tests.
34739
34740        * bindings/v8/V8DOMWrapper.cpp:
34741        (WebCore::V8DOMWrapper::instantiateV8Object):
34742        * bindings/v8/V8Proxy.cpp:
34743        (WebCore::toV8Context):
34744
347452010-03-17  Yury Semikhatsky  <yurys@chromium.org>
34746
34747        Reviewed by Pavel Feldman.
34748
34749        Remove unused reference to InspectorController from InspectorFrontend.
34750
34751        https://bugs.webkit.org/show_bug.cgi?id=36218
34752
34753        * inspector/InspectorFrontend.h:
34754
347552010-03-17 Ilya Tikhonovsky  <loislo@chromium.org>
34756
34757        Reviewed by Pavel Feldman.
34758
34759        WebInspector: Timeline improvements - next iteration.
34760
34761        The top level records should be collapsed.
34762        Virtually linked events should be nested in Timeline like Send Request and
34763        corresponding Received Responce, Timer Install and Timer Fire etc.
34764        It should be possible to see Main Resource request.
34765
34766        https://bugs.webkit.org/show_bug.cgi?id=36122
34767
34768        * inspector/InspectorController.cpp:
34769        (WebCore::InspectorController::resetScriptObjects):
34770        (WebCore::InspectorController::didReceiveResponse):
34771        * inspector/InspectorTimelineAgent.cpp:
34772        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
34773        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
34774        * inspector/InspectorTimelineAgent.h:
34775        * inspector/front-end/TimelinePanel.js:
34776        (WebInspector.TimelinePanel):
34777        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
34778        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
34779        (WebInspector.TimelinePanel.prototype._findParentRecord):
34780        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
34781        (WebInspector.TimelinePanel.prototype.resize):
34782        (WebInspector.TimelinePanel.prototype._createTopLevelRecord):
34783        (WebInspector.TimelinePanel.prototype.reset):
34784        (WebInspector.TimelinePanel.prototype._clean):
34785        (WebInspector.TimelinePanel.prototype._refresh):
34786        (WebInspector.TimelinePanel.prototype._refreshRecords):
34787        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
34788        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
34789        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
34790        (WebInspector.TimelineRecordGraphRow):
34791        (WebInspector.TimelineRecordGraphRow.prototype.update):
34792        (WebInspector.TimelinePanel.FormattedRecord):
34793        (WebInspector.TimelinePanel.FormattedRecord.prototype.get children):
34794        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
34795        * inspector/front-end/inspector.css:
34796        * loader/ResourceLoader.cpp:
34797        (WebCore::ResourceLoader::didReceiveResponse):
34798
347992010-03-17  Alexander Pavlov  <apavlov@chromium.org>
34800
34801        Reviewed by Pavel Feldman.
34802
34803        Web Inspector: Reimplement style-related audits using native API
34804        https://bugs.webkit.org/show_bug.cgi?id=36172
34805
34806        * inspector/InspectorBackend.cpp:
34807        (WebCore::InspectorBackend::getAllStyles):
34808        * inspector/InspectorBackend.h:
34809        * inspector/InspectorBackend.idl:
34810        * inspector/InspectorDOMAgent.cpp:
34811        (WebCore::InspectorDOMAgent::getAllStyles):
34812        (WebCore::InspectorDOMAgent::getMatchedCSSRules):
34813        (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
34814        (WebCore::InspectorDOMAgent::buildObjectForRule):
34815        * inspector/InspectorDOMAgent.h:
34816        * inspector/InspectorFrontend.cpp:
34817        (WebCore::InspectorFrontend::didGetAllStyles):
34818        * inspector/InspectorFrontend.h:
34819        * inspector/front-end/AuditRules.js:
34820        (WebInspector.AuditRules.evaluateInTargetWindow):
34821        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
34822        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
34823        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
34824        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
34825        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
34826        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
34827        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
34828        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
34829        * inspector/front-end/DOMAgent.js:
34830        * inspector/front-end/InjectedScript.js:
34831        (injectedScriptConstructor):
34832
348332010-03-17  Steve Block  <steveblock@google.com>
34834
34835        Reviewed by Jeremy Orlow.
34836
34837        Replace instances of bzero in WebCore/bridge common code with memset
34838        https://bugs.webkit.org/show_bug.cgi?id=36214
34839
34840        Syntax change only, no new tests.
34841
34842        * bridge/jni/JNIUtility.cpp:
34843        (JSC::Bindings::getJNIField):
34844        * bridge/jni/jsc/JNIBridgeJSC.cpp:
34845        (JavaField::dispatchValueFromInstance):
34846        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
34847        (JSC::Bindings::convertValueToJValue):
34848        * bridge/jni/v8/JNIUtilityPrivate.cpp:
34849        (JSC::Bindings::convertNPVariantToJValue):
34850        * bridge/jni/v8/JavaNPObjectV8.cpp:
34851        (JSC::Bindings::AllocJavaNPObject):
34852
348532010-03-17  Yury Semikhatsky  <yurys@chromium.org>
34854
34855        Reviewed by Pavel Feldman.
34856
34857        Mark inspector resources as changed so that they are reloaded on the next frontend connection.
34858        
34859        Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
34860
34861        https://bugs.webkit.org/show_bug.cgi?id=36183
34862
34863        * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file.
34864        * inspector/InspectorController.cpp:
34865        (WebCore::InspectorController::disconnectFrontend):
34866        (WebCore::InspectorController::unbindAllResources):
34867        (WebCore::InspectorController::didCommitLoad):
34868        * inspector/InspectorController.h:
34869        * inspector/InspectorResource.cpp:
34870        (WebCore::InspectorResource::releaseScriptObject):
34871
348722010-03-17  Pavel Feldman  <pfeldman@chromium.org>
34873
34874        Reviewed by Timothy Hatcher.
34875
34876        Web Inspector: Capture main resource load events in timeline panel.
34877
34878        https://bugs.webkit.org/show_bug.cgi?id=36188
34879
34880        * inspector/front-end/TimelinePanel.js:
34881        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
34882        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
34883        (WebInspector.TimelinePanel.prototype.timelineWasStopped):
34884        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
34885        (WebInspector.TimelinePanel.prototype._clearPanel):
34886        (WebInspector.TimelinePanel.FormattedRecord):
34887
348882010-03-17  Zoltan Horvath  <zoltan@webkit.org>
34889
34890        Reviewed by Eric Seidel.
34891
34892        Allow custom memory allocation control for AtomicString class
34893        https://bugs.webkit.org/show_bug.cgi?id=35907
34894
34895        Inherits the following class from FastAllocBase because it is
34896        instantiated by 'new':
34897
34898        class name   - instantiated at: WebCore/'location'
34899        AtomicString - WebCore/html/HTMLTableElement.cpp:525
34900
34901        * platform/text/AtomicString.h:
34902
349032010-03-16  John Abd-El-Malek  <jam@chromium.org>
34904
34905        Reviewed by Darin Fisher.
34906
34907        Give keyboard focus to PluginDocuments by default
34908        https://bugs.webkit.org/show_bug.cgi?id=36147
34909
34910        Test: http/tests/plugins/plugin-document-has-focus.html
34911
34912        * loader/PluginDocument.cpp:
34913        (WebCore::PluginDocument::pluginNode):
34914        * loader/PluginDocument.h:
34915        * page/EventHandler.cpp:
34916        (WebCore::eventTargetNodeForDocument):
34917
349182010-03-16  Chris Fleizach  <cfleizach@apple.com>
34919
34920        Reviewed by Darin Adler.
34921
34922        REGRESSION (r53857): Crash when tabbing to <map>
34923        https://bugs.webkit.org/show_bug.cgi?id=36017
34924
34925        Test: fast/events/imagemap-norender-crash.html
34926
34927        * html/HTMLMapElement.cpp:
34928        (WebCore::HTMLMapElement::imageElement):
34929
349302010-03-16  Brent Fulgham  <bfulgham@webkit.org>
34931
34932        Build fix.  No Review.
34933
34934        Correct missing includes in cURL network backend introduced
34935        by recent changes in WebKit.
34936
34937        * platform/network/curl/ResourceHandleCurl.cpp: Add missing
34938          includes for SharedBuffer and PassRefPtr.
34939        (WebCore::ResourceHandle::loadResourceSynchronously): Correct
34940          constructor signature for ResourceHandle to match @r55688.
34941        * platform/network/curl/ResourceHandleManager.cpp: Add missing
34942          include for RetainPtr.
34943
349442010-03-16  Zhenyao Mo  <zmo@google.com>
34945
34946        Reviewed by Darin Fisher.
34947
34948        Hook up WebGLContextAttributes to OpenGL context creation code
34949        https://bugs.webkit.org/show_bug.cgi?id=33416
34950
34951        Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
34952
34953        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
34954        * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
34955        * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
34956        * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
34957        * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
34958        * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
34959
349602010-03-16  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
34961
34962        Reviewed by Xan Lopez.
34963
34964        https://bugs.webkit.org/show_bug.cgi?id=35504
34965        [Gtk] Evaluate and fix AtkTable for layout tables
34966
34967        Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
34968
34969        * accessibility/AccessibilityTable.cpp:
34970        (AccessibilityTable::isTableExposableThroughAccessibility):
34971
349722010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
34973
34974        Unreviewed. Build fix for distcheck.
34975
34976        * GNUmakefile.am:
34977
349782010-03-15  Darin Fisher  <darin@chromium.org>
34979
34980        Reviewed by Adam Barth.
34981
34982        https://bugs.webkit.org/show_bug.cgi?id=36152
34983        [chromium] Add support for history.pushState and history.replaceState
34984
34985        This is covered by the existing tests in fast/loader/stateobjects
34986
34987        * bindings/v8/SerializedScriptValue.cpp:
34988        (WebCore::ZigZag::Deserializer::deserialize):
34989        (WebCore::SerializedScriptValue::deserialize):
34990        * bindings/v8/SerializedScriptValue.h:
34991        Switch to returning v8::Null instead of the empty value to match JSC
34992        and the spec.
34993
34994        * loader/FrameLoader.cpp:
34995        (WebCore::FrameLoader::loadInSameDocument): Call
34996        dispatchDidNavigateWithinPage just before dispatching events to the
34997        page.  This ordering is important since the event handlers could
34998        destroy the page or start another navigation.
34999
35000        * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to
35001        notify the client whenever a navigation occurs without changing any of
35002        the documents in the page.
35003
350042010-03-16  Adam Roben  <aroben@apple.com>
35005
35006        Fix linker warnings when building WebCore on Windows
35007
35008        Rubber-stamped by Steve Falkenburg.
35009
35010        * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the
35011        build, since it's already included in DerivedSources.cpp. Also let VS
35012        sort this file as it saw fit.
35013
350142010-03-15  Antti Koivisto  <koivisto@iki.fi>
35015
35016        Reviewed by Simon Hausmann.
35017
35018        https://bugs.webkit.org/show_bug.cgi?id=36121
35019        [Qt] Make WebKit scrollbars work with tiling
35020         
35021        Translate coordinates correctly.
35022
35023        * page/Frame.cpp:
35024        (WebCore::Frame::tiledBackingStorePaintEnd):
35025
350262010-03-16  Jakub Wieczorek  <jwieczorek@webkit.org>
35027
35028        Reviewed by Eric Seidel.
35029
35030        [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
35031        when no media services can be found.
35032
35033        https://bugs.webkit.org/show_bug.cgi?id=36142
35034
35035        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
35036        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35037
350382010-03-16  Adam Barth  <abarth@webkit.org>
35039
35040        Unreviewed.
35041
35042        noscript tag should render when @sandbox disables JavaScript
35043        https://bugs.webkit.org/show_bug.cgi?id=36092
35044
35045        Add missing "!" in plugin code.  Should fix plugins/embed-inside-object
35046        on Gtk and Qt.
35047
35048        * plugins/PluginView.cpp:
35049        (WebCore::PluginView::load):
35050
350512010-03-16  Nate Chapin  <japhet@chromium.org>
35052
35053        Reviewed by Dimitri Glazkov.
35054
35055        [V8] Delete DerivedSourcesAllInOne.cpp.
35056
35057        https://bugs.webkit.org/show_bug.cgi?id=33048
35058
35059        * Android.v8bindings.mk:
35060        * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
35061
350622010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35063
35064        Revert r56006 as it caused functional issues. We will work on a
35065        testcase, and rework the fix, and land when we have this a bit
35066        more testable.
35067
35068        * platform/gtk/RenderThemeGtk.cpp:
35069        (WebCore::RenderThemeGtk::paintMediaPlayButton):
35070
350712010-03-16  Pavel Feldman  <pfeldman@chromium.org>
35072
35073        Reviewed by Timothy Hatcher.
35074
35075        Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
35076
35077        https://bugs.webkit.org/show_bug.cgi?id=35025
35078
35079        * inspector/InspectorDOMAgent.cpp:
35080        (WebCore::InspectorDOMAgent::getStyles):
35081        * inspector/front-end/DOMAgent.js:
35082        (WebInspector.DOMNode.prototype._addAttribute):
35083        (WebInspector.DOMWindow.prototype.Object):
35084        * inspector/front-end/MetricsSidebarPane.js:
35085        * inspector/front-end/StylesSidebarPane.js:
35086        (WebInspector.StylesSidebarPane.prototype.update.callback):
35087        (WebInspector.StylesSidebarPane.prototype.update):
35088        (WebInspector.StylesSidebarPane.prototype._update):
35089
350902010-03-12  Antonio Gomes  <tonikitoo@webkit.org>
35091
35092        Reviewed by Simon Fraser.
35093        Patch by Antonio Gomes <tonikitoo@webkit.org>
35094
35095        Spatial Navigation: Add a scrollIntoView call when focusing an element.
35096        https://bugs.webkit.org/show_bug.cgi?id=36020
35097
35098        When focusing an element in Spatial Navigation logic, it is desired to make
35099        this element visible in the current viewport. For that to happen, there
35100        could be a call to Element's scrollIntoView method at focusing time. However
35101        for visual aspects, it is preferable to scroll to an inflated rect of |element|
35102        in order to consider the focus outline width.
35103        As Element's scrollIntoView method does not provide this flexibility, patch adds
35104        a custom scrollIntoView method to SpatialNavigation.h .
35105
35106        * page/FocusController.cpp:
35107        (WebCore::FocusController::advanceFocusDirectionally):
35108        * page/SpatialNavigation.cpp:
35109        (WebCore::scrollIntoView):
35110        * page/SpatialNavigation.h:
35111
351122010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35113
35114        Reviewed by Eric Seidel.
35115
35116        [GTK] Position queries are lagging
35117        https://bugs.webkit.org/show_bug.cgi?id=34372
35118
35119        Normalize timeout priorities through the GStreamer media player as
35120        a whole. This should help avoid that any of them is starved.
35121
35122        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35123        (WebCore::MediaPlayerPrivate::volumeChanged):
35124        (WebCore::MediaPlayerPrivate::processBufferingStats):
35125        (WebCore::MediaPlayerPrivate::muteChanged):
35126        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
35127        (webkit_video_sink_render):
35128        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
35129        (webKitWebSrcNeedDataCb):
35130        (webKitWebSrcEnoughDataCb):
35131        (webKitWebSrcSeekDataCb):
35132
351332010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35134
35135        Reviewed by Eric Seidel.
35136
35137        [GTK] Position queries are lagging
35138        https://bugs.webkit.org/show_bug.cgi?id=34372
35139
35140        Use default priority also for parsing data: URIs.
35141
35142        * platform/network/soup/ResourceHandleSoup.cpp:
35143        (WebCore::startData):
35144
351452010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35146
35147        Reviewed by Eric Seidel.
35148
35149        [GTK] Position queries are lagging
35150        https://bugs.webkit.org/show_bug.cgi?id=34372
35151
35152        Normalize SharedTimers priorities to always be
35153        G_PRIORITY_DEFAULT. As it is currently, timers that should happen
35154        immediately (0 miliseconds delay) end up delayed by a lot of time
35155        due to glib starving lower priority sources.
35156
35157        * platform/gtk/SharedTimerGtk.cpp:
35158        (WebCore::setSharedTimerFireTime):
35159
351602010-03-16  Xan Lopez  <xlopez@igalia.com>
35161
35162        Reviewed by Gustavo Noronha.
35163
35164        Add support for Fast Mobile Scrolling in the build system.
35165
35166        * GNUmakefile.am:
35167
351682010-03-11  Yury Semikhatsky <yurys@chromium.org>
35169
35170        Reviewed by Pavel Feldman.
35171
35172        Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
35173
35174        Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
35175        https://bugs.webkit.org/show_bug.cgi?id=35036
35176
35177        * GNUmakefile.am:
35178        * WebCore.Inspector.exp:
35179        * WebCore.base.exp:
35180        * WebCore.gypi:
35181        * WebCore.order:
35182        * WebCore.pro:
35183        * WebCore.xcodeproj/project.pbxproj:
35184        * inspector/ConsoleMessage.cpp:
35185        (WebCore::ConsoleMessage::addToFrontend):
35186        * inspector/ConsoleMessage.h:
35187        * inspector/InspectorClient.h:
35188        * inspector/InspectorController.cpp:
35189        (WebCore::InspectorController::InspectorController):
35190        (WebCore::InspectorController::~InspectorController):
35191        (WebCore::InspectorController::inspectedPageDestroyed):
35192        (WebCore::InspectorController::windowVisible):
35193        (WebCore::InspectorController::frontendReady):
35194        (WebCore::InspectorController::willCloseFrontend):
35195        (WebCore::InspectorController::addConsoleMessage):
35196        (WebCore::InspectorController::setInspectorFrontendClient):
35197        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
35198        (WebCore::InspectorController::setFrontend):
35199        (WebCore::InspectorController::show):
35200        (WebCore::InspectorController::close):
35201        (WebCore::InspectorController::releaseDOMAgent):
35202        (WebCore::InspectorController::populateScriptObjects):
35203        (WebCore::InspectorController::didCommitLoad):
35204        (WebCore::InspectorController::getProfile):
35205        (WebCore::InspectorController::enableDebugger):
35206        * inspector/InspectorController.h:
35207        (WebCore::InspectorController::hasInspectorFrontendClient):
35208        * inspector/InspectorFrontend.cpp:
35209        (WebCore::InspectorFrontend::InspectorFrontend):
35210        (WebCore::InspectorFrontend::~InspectorFrontend):
35211        (WebCore::InspectorFrontend::addConsoleMessage):
35212        (WebCore::InspectorFrontend::bringToFront):
35213        (WebCore::InspectorFrontend::inspectedURLChanged):
35214        * inspector/InspectorFrontend.h:
35215        * inspector/InspectorFrontendClient.h: Added.
35216        (WebCore::InspectorFrontendClient::~InspectorFrontendClient):
35217        * inspector/InspectorFrontendClientLocal.cpp: Added.
35218        (WebCore::FrontendMenuProvider::create):
35219        (WebCore::FrontendMenuProvider::disconnect):
35220        (WebCore::FrontendMenuProvider::FrontendMenuProvider):
35221        (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
35222        (WebCore::FrontendMenuProvider::populateContextMenu):
35223        (WebCore::FrontendMenuProvider::contextMenuItemSelected):
35224        (WebCore::FrontendMenuProvider::contextMenuCleared):
35225        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
35226        (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
35227        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
35228        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
35229        (WebCore::InspectorFrontendClientLocal::canAttachWindow):
35230        (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
35231        (WebCore::InspectorFrontendClientLocal::moveWindowBy):
35232        (WebCore::InspectorFrontendClientLocal::showContextMenu):
35233        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
35234        (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
35235        (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
35236        * inspector/InspectorFrontendClientLocal.h: Added.
35237        * inspector/InspectorFrontendHost.cpp:
35238        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
35239        (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
35240        (WebCore::InspectorFrontendHost::loaded):
35241        (WebCore::InspectorFrontendHost::attach):
35242        (WebCore::InspectorFrontendHost::detach):
35243        (WebCore::InspectorFrontendHost::closeWindow):
35244        (WebCore::InspectorFrontendHost::bringToFront):
35245        (WebCore::InspectorFrontendHost::inspectedURLChanged):
35246        (WebCore::InspectorFrontendHost::canAttachWindow):
35247        (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
35248        (WebCore::InspectorFrontendHost::moveWindowBy):
35249        (WebCore::InspectorFrontendHost::showContextMenu):
35250        * inspector/InspectorFrontendHost.h:
35251        (WebCore::InspectorFrontendHost::create):
35252        * inspector/InspectorFrontendHost.idl:
35253        * inspector/front-end/InspectorFrontendHostStub.js:
35254        (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
35255        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
35256        * inspector/front-end/inspector.js:
35257        (WebInspector.loaded):
35258        (WebInspector.close):
35259        (WebInspector.bringToFront):
35260        (WebInspector.inspectedURLChanged):
35261        * loader/EmptyClients.h:
35262        (WebCore::EmptyInspectorClient::openInspectorFrontend):
35263        * loader/FrameLoader.cpp:
35264        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
35265        * page/Page.cpp:
35266        (WebCore::Page::Page):
35267        (WebCore::Page::~Page):
35268        * page/Page.h:
35269        * platform/ContextMenu.cpp:
35270        (WebCore::ContextMenu::populate):
35271        (WebCore::ContextMenu::addInspectElementItem):
35272
352732010-03-16  Pavel Feldman  <pfeldman@chromium.org>
35274
35275        Reviewed by Timothy Hatcher.
35276
35277        Web Inspector: migrate to native styles inspector in
35278        order to inspect styles from foreighn domains.
35279
35280        https://bugs.webkit.org/show_bug.cgi?id=36117
35281
35282        * inspector/InspectorBackend.cpp:
35283        (WebCore::InspectorBackend::getStyles):
35284        (WebCore::InspectorBackend::getInlineStyle):
35285        (WebCore::InspectorBackend::getComputedStyle):
35286        (WebCore::InspectorBackend::applyStyleText):
35287        (WebCore::InspectorBackend::setStyleText):
35288        (WebCore::InspectorBackend::setStyleProperty):
35289        (WebCore::InspectorBackend::toggleStyleEnabled):
35290        (WebCore::InspectorBackend::setRuleSelector):
35291        (WebCore::InspectorBackend::addRule):
35292        * inspector/InspectorBackend.h:
35293        * inspector/InspectorBackend.idl:
35294        * inspector/InspectorDOMAgent.cpp:
35295        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
35296        (WebCore::InspectorDOMAgent::getStyles):
35297        (WebCore::InspectorDOMAgent::getInlineStyle):
35298        (WebCore::InspectorDOMAgent::getComputedStyle):
35299        (WebCore::InspectorDOMAgent::getMatchedCSSRules):
35300        (WebCore::InspectorDOMAgent::getAttributeStyles):
35301        (WebCore::InspectorDOMAgent::applyStyleText):
35302        (WebCore::InspectorDOMAgent::setStyleText):
35303        (WebCore::InspectorDOMAgent::setStyleProperty):
35304        (WebCore::InspectorDOMAgent::toggleStyleEnabled):
35305        (WebCore::InspectorDOMAgent::setRuleSelector):
35306        (WebCore::InspectorDOMAgent::addRule):
35307        (WebCore::InspectorDOMAgent::bindStyle):
35308        (WebCore::InspectorDOMAgent::bindRule):
35309        (WebCore::InspectorDOMAgent::buildObjectForStyle):
35310        (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
35311        (WebCore::InspectorDOMAgent::buildObjectForRule):
35312        (WebCore::InspectorDOMAgent::uniqueStyleProperties):
35313        (WebCore::InspectorDOMAgent::longhandProperties):
35314        (WebCore::InspectorDOMAgent::shorthandPriority):
35315        (WebCore::InspectorDOMAgent::ruleAffectsNode):
35316        (WebCore::InspectorDOMAgent::toArray):
35317        * inspector/InspectorDOMAgent.h:
35318        * inspector/InspectorFrontend.cpp:
35319        (WebCore::InspectorFrontend::didGetEventListenersForNode):
35320        (WebCore::InspectorFrontend::didGetStyles):
35321        (WebCore::InspectorFrontend::didGetComputedStyle):
35322        (WebCore::InspectorFrontend::didGetInlineStyle):
35323        (WebCore::InspectorFrontend::didApplyStyleText):
35324        (WebCore::InspectorFrontend::didSetStyleText):
35325        (WebCore::InspectorFrontend::didSetStyleProperty):
35326        (WebCore::InspectorFrontend::didToggleStyleEnabled):
35327        (WebCore::InspectorFrontend::didSetRuleSelector):
35328        (WebCore::InspectorFrontend::didAddRule):
35329        * inspector/InspectorFrontend.h:
35330        * inspector/front-end/DOMAgent.js:
35331        (WebInspector.CSSStyleDeclaration):
35332        * inspector/front-end/ElementsTreeOutline.js:
35333        * inspector/front-end/InjectedScript.js:
35334        * inspector/front-end/MetricsSidebarPane.js:
35335        (WebInspector.MetricsSidebarPane.prototype.update):
35336        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
35337        * inspector/front-end/StylesSidebarPane.js:
35338        (WebInspector.StylesSidebarPane.prototype.update):
35339        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
35340        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
35341        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback):
35342        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
35343        (WebInspector.StylePropertyTreeElement.prototype):
35344        (WebInspector.StylePropertyTreeElement.prototype.):
35345
353462010-03-16  Shinichiro Hamaji  <hamaji@chromium.org>
35347
35348        Reviewed by Darin Adler.
35349
35350        RenderText::m_text should be a String, not RefPtr<StringImpl>
35351        https://bugs.webkit.org/show_bug.cgi?id=36010
35352
35353        Refactoring only, so no new tests.
35354
35355        * platform/text/PlatformString.h:
35356        (WebCore::String::makeLower):
35357        (WebCore::String::makeUpper):
35358        (WebCore::String::makeSecure):
35359        (WebCore::String::makeCapitalized):
35360        (WebCore::String::containsOnlyASCII):
35361        * rendering/RenderText.cpp:
35362        (WebCore::RenderText::RenderText):
35363        (WebCore::RenderText::widthFromCache):
35364        (WebCore::RenderText::trimmedPrefWidths):
35365        (WebCore::RenderText::containsOnlyWhitespace):
35366        (WebCore::RenderText::setTextInternal):
35367        (WebCore::RenderText::setText):
35368        (WebCore::RenderText::previousOffset):
35369        (WebCore::RenderText::previousOffsetForBackwardDeletion):
35370        (WebCore::RenderText::nextOffset):
35371        * rendering/RenderText.h:
35372        (WebCore::RenderText::text):
35373        (WebCore::RenderText::characters):
35374        (WebCore::RenderText::textLength):
35375
353762010-03-16  Adam Barth  <abarth@webkit.org>
35377
35378        Reviewed by Darin Adler.
35379
35380        noscript tag should render when @sandbox disables JavaScript
35381        https://bugs.webkit.org/show_bug.cgi?id=36092
35382
35383        Instead of talking to Settings directly to figure out if JavaScript is
35384        enabled in a frame, we need to talk to the ScriptController.  The
35385        ScriptController is better at answering that question because it knows
35386        about @sandbox.
35387
35388        Test: fast/frames/sandboxed-iframe-noscript.html
35389
35390        * dom/Document.cpp:
35391        (WebCore::Document::Document):
35392        * html/HTMLCanvasElement.cpp:
35393        (WebCore::HTMLCanvasElement::createRenderer):
35394        * html/HTMLElement.cpp:
35395        (WebCore::HTMLElement::rendererIsNeeded):
35396        * html/HTMLParser.cpp:
35397        (WebCore::HTMLParser::noscriptCreateErrorCheck):
35398        (WebCore::HTMLParser::isInline):
35399        * plugins/PluginView.cpp:
35400        (WebCore::PluginView::load):
35401
354022010-03-15  John Gregg  <johnnyg@google.com>
35403
35404        Reviewed by David Levin.
35405
35406        Notification object should expose absolute URL of icon
35407        https://bugs.webkit.org/show_bug.cgi?id=35800
35408
35409        Covered by existing tests.
35410
35411        * notifications/Notification.cpp:
35412        (WebCore::Notification::Notification):
35413        * notifications/Notification.h:
35414        (WebCore::Notification::iconURL):
35415
354162010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35417
35418        Reviewed by Holger Freyther.
35419
35420        Add EFL port files to platform/efl.
35421        http://webkit.org/b/35887
35422
35423        * platform/efl/ClipboardEfl.cpp: Added.
35424        * platform/efl/PasteboardEfl.cpp: Added.
35425
354262010-03-15  Kent Tamura  <tkent@chromium.org>
35427
35428        Reviewed by Eric Seidel.
35429
35430        Don't submit disabled menu options.
35431        https://bugs.webkit.org/show_bug.cgi?id=35056
35432
35433        Test: fast/forms/menulist-disabled-selected-option.html
35434
35435        * dom/OptionElement.h:
35436        * dom/SelectElement.cpp:
35437        (WebCore::SelectElement::appendFormData):
35438         If a selected option is disabled, skip it.
35439         Remove code for non-selected menulist because of compatibility with
35440         other browsers.
35441
354422010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35443
35444        Reviewed by Holger Freyther.
35445
35446        Add EFL port files to platform/efl.
35447        http://webkit.org/b/35884
35448
35449        * platform/efl/FileSystemEfl.cpp: Added.
35450
354512010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35452
35453        Reviewed by Holger Freyther.
35454
35455        Add EFL port files to platform/efl.
35456        http://webkit.org/b/35882
35457
35458        * platform/efl/ContextMenuItemEfl.cpp: Added.
35459
354602010-03-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35461
35462        Reviewed by Holger Freyther.
35463
35464        https://bugs.webkit.org/show_bug.cgi?id=35502
35465        [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
35466
35467        Simple change to stop tables from implementing AtkText.
35468
35469        * accessibility/gtk/AccessibilityObjectAtk.cpp:
35470        (getInterfaceMaskFromObject):
35471
354722010-03-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
35473
35474        Reviewed by Adam Barth.
35475
35476        According to the updated specification, a data field should always
35477        result in a newline character being appended to the data buffer
35478        regardless if the data buffer contains any data or not. However, upon
35479        event dispatch, the last newline will be removed. This differs from an
35480        older version of the specification where a newline character was
35481        appended before the data value only if the buffer already contained
35482        data. As a result, EventSource now supports receiving events with empty
35483        data or newline characters only.
35484        https://bugs.webkit.org/show_bug.cgi?id=33210
35485
35486        * page/EventSource.cpp:
35487        (WebCore::EventSource::parseEventStreamLine):
35488
354892010-03-15  Valters Svabe  <vsvabe@gmail.com>
35490
35491        Reviewed by Darin Adler.
35492
35493        :after selector displays in wrong place with nested div
35494        https://bugs.webkit.org/show_bug.cgi?id=32288
35495        
35496        Make sure we don't append things after :after-generated content, if
35497        it's inside an anonymous block.
35498
35499        Test: fast/css-generated-content/block-after.html
35500
35501        * rendering/RenderBlock.cpp:
35502        (WebCore::RenderBlock::addChild):
35503
355042010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35505
35506        Reviewed by Eric Seidel.
35507
35508        Add EFL port files to platform/efl.
35509        http://webkit.org/b/35885
35510
35511        * platform/efl/KURLEfl.cpp: Added.
35512
355132010-03-15  Chris Fleizach  <cfleizach@apple.com>
35514
35515        Reviewed by Beth Dakin.
35516
35517        VO not able to perform a VO-spacebar on facebook links
35518        https://bugs.webkit.org/show_bug.cgi?id=36132
35519
35520        When a label element is used as a click event handler, and it doesn't have any
35521        corresponding control, it should handle the action itself.
35522
35523        Test: accessibility/label-element-press.html
35524
35525        * html/HTMLLabelElement.cpp:
35526        (WebCore::HTMLLabelElement::accessKeyAction):
35527
355282010-03-15  Cameron Zwarich  <zwarich@apple.com>
35529
35530        Reviewed by Geoff Garen.
35531
35532        Bug 36135 - GCController::garbageCollectNow() crashes when called from garbage collection
35533        <https://bugs.webkit.org/show_bug.cgi?id=36135>
35534        <rdar://problem/7752552>
35535
35536        * bindings/js/GCController.cpp:
35537        (WebCore::GCController::garbageCollectNow): Fail silently if garbage collection is
35538        active rather than hitting the CRASH() reentrancy guard.
35539
355402010-03-15  Simon Fraser  <simon.fraser@apple.com>
35541
35542        Reviewed by Dan Bernstein.
35543
35544        Drop out of compositing mode when no elements need to composite
35545        https://bugs.webkit.org/show_bug.cgi?id=36134
35546
35547        When no more elements on the page need to be composited, drop out of compositing
35548        mode altogether, including removing the layer-backed view that hosts the layers.
35549
35550        * rendering/RenderLayerCompositor.cpp:
35551        (WebCore::RenderLayerCompositor::updateCompositingLayers): If the list of child layers to attach at
35552        the root is empty, we have no composited layers, and can drop out of compositing mode by calling
35553        willMoveOffscreen().
35554        
35555        (WebCore::RenderLayerCompositor::computeCompositingRequirements): In several places,
35556        use willBeComposited rather than calling needsToBeComposited(), because it avoids
35557        recomputing state that we know already (but assert that we're getting it right).
35558        When we're assessing the root layer in post-order, see if we have any child layers that
35559        are compositing, and also whether the root itself needs to composite. If neither are
35560        true, then we can drop out of compositing mode.
35561        
35562        (WebCore::RenderLayerCompositor::needsToBeComposited):
35563        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Move the
35564        "inCompositingMode() && layer->isRootLayer()" test out of requiresCompositingLayer()
35565        and into needsToBeComposited() so that we can call requiresCompositingLayer() separately
35566        on the root layer above.
35567
355682010-03-15  Leandro Pereira  <leandro@profusion.mobi>
35569
35570        Reviewed by Kenneth Rohde Christiansen.
35571
35572        Add EFL port files to platform/efl.
35573        http://webkit.org/b/35888
35574
35575        * platform/efl/SoundEfl.cpp: Added.
35576
355772010-03-15  Andy Estes  <aestes@apple.com>
35578
35579        Reviewed by John Sullivan.
35580
35581        For continuous scrolling devices on the Mac (trackpads and Mighty/Magic
35582        Mice), set the number of wheel ticks equal to the atomic increment of
35583        the device: a pixel.  This ensures that any scrolling action will
35584        generate at least one wheel tick, regardless of the speed/length of
35585        the gesture.
35586
35587        https://bugs.webkit.org/show_bug.cgi?id=29601
35588        <rdar://problem/7453254>
35589
35590        Tests: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
35591               fast/events/platform-wheelevent-in-scrolling-div.html
35592
35593        * platform/mac/WebCoreSystemInterface.h: Modify method signature.
35594        * platform/mac/WebCoreSystemInterface.mm: Ditto.
35595        * platform/mac/WheelEventMac.mm:
35596        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Call into
35597        WebKitSystemInterface to determine both wheelTicksX/Y and deltaX/Y.
35598        WKSI will query the event system for number of wheel ticks and
35599        pixels/lines scrolled based on the device type.
35600
356012010-03-15  Philippe Normand  <pnormand@igalia.com>
35602
35603        Reviewed by Gustavo Noronha Silva.
35604
35605        [GStreamer] duration query optimizations
35606        https://bugs.webkit.org/show_bug.cgi?id=36116
35607
35608        Don't reattempt duration queries that previously failed and cache
35609        media duration only if it's known.
35610
35611        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35612        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35613        (WebCore::MediaPlayerPrivate::duration):
35614        (WebCore::MediaPlayerPrivate::updateStates):
35615        (WebCore::MediaPlayerPrivate::durationChanged):
35616        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35617
356182010-03-11  Peter Kasting  <pkasting@google.com>
35619
35620        Reviewed by Adam Barth.
35621
35622        Clean up more bits of the open-source image decoders.  In addition to
35623        simplifying things somewhat, this makes all the decoders the same in
35624        terms of how they construct "image reader" subclasses and init scale
35625        data.
35626
35627        https://bugs.webkit.org/show_bug.cgi?id=36040
35628
35629        No functional change, so no tests.
35630
35631        * platform/image-decoders/ImageDecoder.h: Reorder a few declarations to try and group/order members slightly better.
35632        (WebCore::ImageDecoder::ImageDecoder):
35633        * platform/image-decoders/gif/GIFImageDecoder.cpp: Move reader construction into decode().  Prep scale data in setSize().  Remove useless comment.
35634        (WebCore::GIFImageDecoder::setData):
35635        (WebCore::GIFImageDecoder::setSize):
35636        (WebCore::GIFImageDecoder::frameBufferAtIndex):
35637        (WebCore::GIFImageDecoder::decode):
35638        * platform/image-decoders/gif/GIFImageDecoder.h: Prep scale data in setSize().
35639        * platform/image-decoders/gif/GIFImageReader.cpp: Prep scale data in setSize().
35640        (GIFImageReader::read):
35641        * platform/image-decoders/ico/ICOImageDecoder.cpp: Shorten code.
35642        (WebCore::ICOImageDecoder::setSize):
35643        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Fix style.  Move reader construction into decode().
35644        (WebCore::JPEGImageReader::close):
35645        (WebCore::JPEGImageReader::skipBytes):
35646        (WebCore::JPEGImageDecoder::decode):
35647        * platform/image-decoders/jpeg/JPEGImageDecoder.h: Move reader construction into decode().
35648        (WebCore::JPEGImageDecoder::filenameExtension):
35649        * platform/image-decoders/png/PNGImageDecoder.cpp: Move reader construction into decode().  Track completion on decoder, not reader.  Prep scale data in setSize().  Remove useless comment.
35650        (WebCore::PNGImageReader::PNGImageReader):
35651        (WebCore::PNGImageReader::close):
35652        (WebCore::PNGImageReader::decode):
35653        (WebCore::PNGImageDecoder::setSize):
35654        (WebCore::PNGImageDecoder::frameBufferAtIndex):
35655        (WebCore::PNGImageDecoder::headerAvailable):
35656        (WebCore::PNGImageDecoder::pngComplete):
35657        (WebCore::PNGImageDecoder::decode):
35658        * platform/image-decoders/png/PNGImageDecoder.h: Move reader construction into decode().  Track completion on decoder, not reader.  Prep scale data in setSize().
35659        (WebCore::PNGImageDecoder::filenameExtension):
35660        (WebCore::PNGImageDecoder::isComplete):
35661
356622010-03-15  Philippe Normand  <pnormand@igalia.com>
35663
35664        Reviewed by Gustavo Noronha Silva.
35665
35666        [GStreamer] updateStates called for all elements posting a state-change
35667        https://bugs.webkit.org/show_bug.cgi?id=36115
35668
35669        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35670        (WebCore::mediaPlayerPrivateMessageCallback): Update player state
35671        only for state-change messages coming from playbin2 directly.
35672        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35673        (WebCore::MediaPlayerPrivate::pipeline): public accessor for the
35674        playbin element.
35675
356762010-03-15  Jian Li  <jianli@chromium.org>
35677
35678        Reviewed by Nate Chapin.
35679
35680        [v8] Add V8 bindings for DOMFormData.
35681        https://bugs.webkit.org/show_bug.cgi?id=36026
35682
35683        Test: http/tests/local/send-form-data.html
35684
35685        * Android.v8bindings.mk:
35686        * WebCore.gypi:
35687        * bindings/v8/V8Index.h:
35688        * bindings/v8/custom/V8DOMFormDataCustom.cpp: Added.
35689        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
35690        (WebCore::V8XMLHttpRequest::sendCallback):
35691
356922010-03-15  Jian Li  <jianli@chromium.org>
35693
35694        Reviewed by Sam Weinig.
35695
35696        Add DOMFormData.idl to expose FormData interface.
35697        https://bugs.webkit.org/show_bug.cgi?id=36024
35698        
35699        The implementation is based on XMLHttpRequest 2 spec:
35700        http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
35701
35702        Test: http/tests/local/send-form-data.html
35703
35704        * Android.derived.jscbindings.mk:
35705        * Android.derived.v8bindings.mk:
35706        * Android.jscbindings.mk:
35707        * DerivedSources.cpp:
35708        * DerivedSources.make:
35709        * GNUmakefile.am:
35710        * WebCore.pri:
35711        * WebCore.vcproj/WebCore.vcproj:
35712        * WebCore.xcodeproj/project.pbxproj:
35713        * bindings/js/JSDOMFormDataCustom.cpp: Added.
35714        * bindings/js/JSXMLHttpRequestCustom.cpp:
35715        (WebCore::JSXMLHttpRequest::send):
35716        * bindings/scripts/CodeGeneratorJS.pm:
35717        * html/DOMFormData.idl: Added.
35718        * page/DOMWindow.idl:
35719
357202010-03-15  Patrik Persson  <patrik.j.persson@ericsson.com>
35721
35722        Reviewed by Darin Adler.
35723
35724        https://bugs.webkit.org/show_bug.cgi?id=32369
35725
35726        Revise iframe sandbox behavior to match the updated HTML5 spec.
35727
35728        - Enables window.sessionStorage in sandboxed iframes.
35729
35730        - Raises SECURITY_ERR exceptions when window.localStorage or
35731          window.openDatabase() is blocked by iframe sandboxing.
35732
35733          Note: window.sessionStorage does not raise exceptions.
35734
35735        WebKit would previously return null references in these cases.  The
35736        new behavior is in accordance with HTML5:
35737
35738          http://dev.w3.org/html5/webstorage/   (sections 4.2 and 4.3)
35739          http://dev.w3.org/html5/webdatabase/  (section 4.1)
35740          http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html
35741
35742        * inspector/InspectorController.cpp:
35743        (WebCore::InspectorController::selectDOMStorage): exception handling
35744        * inspector/InspectorDOMStorageResource.cpp:
35745        (WebCore::InspectorDOMStorageResource::handleEvent): exception handling
35746        * page/DOMWindow.cpp:
35747        (WebCore::DOMWindow::sessionStorage): re-enabled in iframe sandbox
35748        (WebCore::DOMWindow::localStorage): raise exception rather than return null
35749        (WebCore::DOMWindow::openDatabase): raise exception rather than return null
35750        * page/DOMWindow.h: added exceptions to interface
35751        * page/DOMWindow.idl: added exceptions to interface
35752        * page/SecurityOrigin.h:
35753        (WebCore::SecurityOrigin::canAccessLocalStorage): renamed function to reflect its purpose
35754        * storage/StorageEventDispatcher.cpp:
35755        (WebCore::StorageEventDispatcher::dispatch): exception handling
35756
357572010-03-15  Alexander Pavlov  <apavlov@chromium.org>
35758
35759        Reviewed by Timothy Hatcher.
35760
35761        Web Inspector: Implement a progress indicator in the Audits panel
35762        when resources are reloading
35763        https://bugs.webkit.org/show_bug.cgi?id=35971
35764
35765        * English.lproj/localizedStrings.js:
35766        * GNUmakefile.am:
35767        * WebCore.gypi:
35768        * inspector/front-end/AuditLauncherView.js:
35769        (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
35770        (WebInspector.AuditLauncherView.prototype.get totalResources):
35771        (WebInspector.AuditLauncherView.prototype.set totalResources):
35772        (WebInspector.AuditLauncherView.prototype.get loadedResources):
35773        (WebInspector.AuditLauncherView.prototype.set loadedResources):
35774        (WebInspector.AuditLauncherView.prototype._resetResourceCount):
35775        (WebInspector.AuditLauncherView.prototype.resourceStarted):
35776        (WebInspector.AuditLauncherView.prototype.resourceFinished):
35777        (WebInspector.AuditLauncherView.prototype.reset):
35778        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
35779        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
35780        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
35781        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
35782        (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
35783        (WebInspector.AuditLauncherView.prototype._updateButton):
35784        * inspector/front-end/AuditsPanel.js:
35785        (WebInspector.AuditsPanel.prototype.resourceStarted):
35786        (WebInspector.AuditsPanel.prototype.resourceFinished):
35787        (WebInspector.AuditsPanel.prototype.reset):
35788        * inspector/front-end/Images/spinner.gif: Added.
35789        * inspector/front-end/WebKit.qrc:
35790        * inspector/front-end/audits.css:
35791        (.audit-launcher-view .resource-progress > img):
35792        * inspector/front-end/inspector.js:
35793        (WebInspector.updateResource):
35794
357952010-03-15  Philippe Normand  <pnormand@igalia.com>
35796
35797        Reviewed by Gustavo Noronha Silva.
35798
35799        [GStreamer] replace g_idle_add / g_timeout_add calls with Timers in the gstreamer player
35800        https://bugs.webkit.org/show_bug.cgi?id=35735
35801
35802        Replaced g_idle_add calls with Timers immediately started once
35803        only. The g_timeout_add was replaced by a periodic Timer.
35804
35805        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35806        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35807        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
35808        (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
35809        (WebCore::MediaPlayerPrivate::volumeChanged):
35810        (WebCore::MediaPlayerPrivate::processBufferingStats):
35811        (WebCore::MediaPlayerPrivate::fillTimerFired):
35812        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
35813        (WebCore::MediaPlayerPrivate::updateStates):
35814        (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
35815        (WebCore::MediaPlayerPrivate::muteChanged):
35816        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35817
358182010-03-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
35819
35820        Reviewed by Eric Carlson.
35821
35822        media/video-preload.html fails
35823        https://bugs.webkit.org/show_bug.cgi?id=35793
35824
35825        Only effectively load, and start buffering when playing, or when
35826        the preload attribute is set.
35827
35828        Test: media/video-preload.html
35829
35830        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35831        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
35832        (WebCore::MediaPlayerPrivate::load):
35833        (WebCore::MediaPlayerPrivate::commitLoad):
35834        (WebCore::MediaPlayerPrivate::prepareToPlay):
35835        (WebCore::MediaPlayerPrivate::setPreload):
35836        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
35837
358382010-03-15  Shu Chang  <Chang.Shu@nokia.com>
35839
35840        Reviewed by Holger Freyther.
35841
35842        [Qt] The behavior of QGradient with no stops is defined differently from HTML5 spec,
35843        where the latter requires the gradient to be transparent black. Explicitly added a
35844        transparent black color stop to match the HTML5 behavior.
35845        https://bugs.webkit.org/show_bug.cgi?id=36060
35846
35847        * platform/graphics/qt/GradientQt.cpp:
35848        (WebCore::Gradient::platformGradient):
35849
358502010-03-11  Antonio Gomes  <tonikitoo@webkit.org>
35851
35852        Rubber-stamped by Holger Freyther.
35853        Patch by Antonio Gomes <tonikitoo@webkit.org>
35854
35855        Some minor code clean ups in SpatialNavigation.cpp
35856
35857        * page/SpatialNavigation.cpp:
35858        (WebCore::distanceInDirection):
35859        (WebCore::deflateIfOverlapped):
35860
358612010-03-13  Ilya Tikhonovsky  <loislo@chromium.org>
35862
35863        Reviewed by Timothy Hatcher.
35864
35865        WebInspector: Position of GraphBar elements is calculating more carefully
35866        and they fully visible at the bottom of Timeline panel.
35867       
35868        http://bugs.webkit.org/show_bug.cgi?id=35966
35869
35870        * inspector/front-end/TimelinePanel.js:
35871        (WebInspector.TimelineRecordGraphRow.prototype.update):
35872
358732010-03-15  MORITA Hajime  <morrita@google.com>
35874
35875        Reviewed by Alexey Proskuryakov.
35876
35877        Selection.modify extends too far with 'lineboundary'.
35878        https://bugs.webkit.org/show_bug.cgi?id=33413
35879
35880        Selection.modify() with 'lineboundary' granularity implies just
35881        "Go to the end of the line", unlike selection expansion with
35882        other type of granularities. This change handled LineGranularity
35883        as special case, to look-up end of line with UPSTREAM affinity. 
35884        Doing this prevents look-up algorithm to go next line.
35885
35886        Test: editing/selection/extend-selection-expected.txt
35887
35888        * dom/Position.cpp:
35889        (WebCore::Position::getInlineBoxAndOffset):
35890        Handled an edge case for node look-up with UPSTREAM.
35891        * editing/SelectionController.cpp:
35892        (WebCore::SelectionController::modifyExtendingForward):
35893        Added UPSTREAM tweak for the case for LineGranularity.
35894        
358952010-03-14  Yuzo Fujishima  <yuzo@google.com>
35896
35897        Reviewed by Shinichiro Hamaji.
35898
35899        Always call PrintContext.end() from PrintContext::pageNumberForElement().
35900
35901        Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.
35902
35903        https://bugs.webkit.org/show_bug.cgi?id=36049
35904
35905        Test: printing/return-from-printing-mode.html
35906
35907        * page/PrintContext.cpp:
35908        (WebCore::PrintContext::pageNumberForElement):
35909
359102010-03-11  Philippe Normand  <pnormand@igalia.com>
35911
35912        Reviewed by Gustavo Noronha Silva.
35913
35914        [GStreamer] progressTimer never stopped after EOS
35915        https://bugs.webkit.org/show_bug.cgi?id=36007
35916
35917        Mark the pipeline as paused only if playback hasn't ended
35918        yet. When didEnd() is triggered, the pipeline is paused (but
35919        paused() still returns false) and a timeupdate event is fired,
35920        those 2 conditions allow the HTMLMediaElement to stop the
35921        progressTimer (in updatePlayerState, via mediaPlayerTimeChanged).
35922
35923        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
35924        (WebCore::MediaPlayerPrivate::updateStates):
35925
359262010-03-14  Chang Shu  <chang.shu@nokia.com>
35927
35928        Reviewed by Simon Hausmann.
35929
35930        [Qt] [Symbian] Added block for ENABLE_SYMBIAN_DIALOG_PROVIDERS
35931        on Symbian platform.
35932        https://bugs.webkit.org/show_bug.cgi?id=35919
35933
35934        * WebCore.pro:
35935
359362010-03-14  Yael Aharon  <yael.aharon@nokia.com>
35937
35938        Reviewed by Darin Adler.
35939
35940        Support for HTMLProgressElement
35941        https://bugs.webkit.org/show_bug.cgi?id=35937
35942
35943        Added support for HTMLProgressElement.
35944        This implementation is enabled only for Qt, because only RenderThemeQt
35945        was modified to actually draw the progress element.
35946        The labels attribute of the progress element will be implemented in a
35947        separate patch.
35948
35949        Tests: fast/dom/HTMLProgressElement/progress-element.html
35950               fast/dom/HTMLProgressElement/set-progress-properties.html
35951
35952        * DerivedSources.cpp:
35953        * DerivedSources.make:
35954        * GNUmakefile.am:
35955        * WebCore.gypi:
35956        * WebCore.pri:
35957        * WebCore.pro:
35958        * WebCore.vcproj/WebCore.vcproj:
35959        * WebCore.xcodeproj/project.pbxproj:
35960        * css/CSSPrimitiveValueMappings.h:
35961        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
35962        * css/CSSSelector.cpp:
35963        (WebCore::CSSSelector::extractPseudoType):
35964        * css/CSSValueKeywords.in:
35965        * css/html.css:
35966        * html/HTMLElement.cpp:
35967        (WebCore::inlineTagList):
35968        * html/HTMLElementsAllInOne.cpp:
35969        * html/HTMLFormControlElement.cpp:
35970        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
35971        * html/HTMLFormControlElement.h:
35972        * html/HTMLProgressElement.cpp: Added.
35973        (WebCore::HTMLProgressElement::HTMLProgressElement):
35974        (WebCore::HTMLProgressElement::create):
35975        (WebCore::HTMLProgressElement::createRenderer):
35976        (WebCore::HTMLProgressElement::formControlType):
35977        (WebCore::HTMLProgressElement::parseMappedAttribute):
35978        (WebCore::HTMLProgressElement::value):
35979        (WebCore::HTMLProgressElement::setValue):
35980        (WebCore::HTMLProgressElement::max):
35981        (WebCore::HTMLProgressElement::setMax):
35982        (WebCore::HTMLProgressElement::position):
35983        * html/HTMLProgressElement.h: Added.
35984        (WebCore::HTMLProgressElement::isOptionalFormControl):
35985        * html/HTMLProgressElement.idl: Added.
35986        * html/HTMLTagNames.in:
35987        * page/DOMWindow.idl:
35988        * platform/ThemeTypes.h:
35989        * platform/qt/RenderThemeQt.cpp:
35990        (WebCore::RenderThemeQt::adjustProgressBarStyle):
35991        (WebCore::RenderThemeQt::paintProgressBar):
35992        * platform/qt/RenderThemeQt.h:
35993        * rendering/RenderObject.h:
35994        (WebCore::RenderObject::isProgress):
35995        * rendering/RenderProgress.cpp: Added.
35996        (WebCore::RenderProgress::RenderProgress):
35997        (WebCore::RenderProgress::baselinePosition):
35998        (WebCore::RenderProgress::calcPrefWidths):
35999        (WebCore::RenderProgress::layout):
36000        (WebCore::RenderProgress::updateFromElement):
36001        * rendering/RenderProgress.h: Added.
36002        (WebCore::RenderProgress::renderName):
36003        (WebCore::RenderProgress::isProgress):
36004        (WebCore::toRenderProgress):
36005        * rendering/RenderTheme.cpp:
36006        (WebCore::RenderTheme::adjustStyle):
36007        (WebCore::RenderTheme::paint):
36008        (WebCore::RenderTheme::paintBorderOnly):
36009        (WebCore::RenderTheme::paintDecorations):
36010        (WebCore::RenderTheme::adjustProgressBarStyle):
36011        * rendering/RenderTheme.h:
36012        (WebCore::RenderTheme::paintProgressBar):
36013
360142010-03-14  Oliver Hunt  <oliver@apple.com>
36015
36016        Reviewed by Darin Adler.
36017
36018        REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set
36019        https://bugs.webkit.org/show_bug.cgi?id=36095
36020
36021        The issue here is that while dropEffect is meant to be initialized
36022        to "none", the behaviour of the drag is differs between dragEffect
36023        not being set and dragEffect being explicitly set to "none"
36024
36025        This patch corrects this behaviour by making Clipboard distinguish
36026        between the initial "none" value of dropEffect and an explicit "none".
36027        This alone is insufficient for correct behaviour, we also need to
36028        resurrect the removed defaultOperationForDrag function, but we now
36029        use the function only when dragEffect is uninitialized.  There are a
36030        few tweaks to the behaviour of the defaultOperationForDrag as well
36031        to ensure exactly the same set of outcomes for all cases that we
36032        may hit it.
36033
36034        * dom/Clipboard.cpp:
36035        (WebCore::Clipboard::Clipboard):
36036        (WebCore::dragOpFromIEOp):
36037        (WebCore::Clipboard::destinationOperation):
36038        * dom/Clipboard.h:
36039        (WebCore::Clipboard::dropEffect):
36040        (WebCore::Clipboard::dropEffectIsUninitialized):
36041        * page/DragController.cpp:
36042        (WebCore::defaultOperationForDrag):
36043        (WebCore::DragController::tryDHTMLDrag):
36044
360452010-03-14  Antti Koivisto  <koivisto@iki.fi>
36046
36047        Reviewed by Simon Hausmann.
36048        
36049        https://bugs.webkit.org/show_bug.cgi?id=35146
36050        Support tiled backing store
36051
36052        Implements a basic tiled backing store mechanism. Tiles are created and 
36053        deleted on demand. The page content is cached to the tiles. Tile content
36054        is kept in sync with the document. Since the backing store covers area
36055        larger than the currently visible viewport, the document can be scrolled
36056        quickly without having to enter rendering tree painting.
36057        
36058        The tile management code is platform independent. This patch has simple QPixmap
36059        based tile implementation for Qt.
36060        
36061        The feature is behind ENABLE_TILED_BACKING_STORE flag.
36062
36063        * WebCore.pri:
36064        * WebCore.pro:
36065        * page/Frame.cpp:
36066        (WebCore::Frame::Frame):
36067        (WebCore::Frame::setTiledBackingStoreEnabled):
36068        (WebCore::Frame::tiledBackingStorePaintBegin):
36069        (WebCore::Frame::tiledBackingStorePaint):
36070        (WebCore::Frame::tiledBackingStorePaintEnd):
36071        (WebCore::Frame::tiledBackingStoreContentsRect):
36072        * page/Frame.h:
36073        (WebCore::Frame::tiledBackingStore):
36074        * page/FrameView.cpp:
36075        (WebCore::FrameView::repaintContentRectangle):
36076        (WebCore::FrameView::doDeferredRepaints):
36077        * page/Settings.cpp:
36078        (WebCore::Settings::Settings):
36079        (WebCore::Settings::setTiledBackingStoreEnabled):
36080        * page/Settings.h:
36081        (WebCore::Settings::tiledBackingStoreEnabled):
36082        * platform/graphics/Tile.h: Added.
36083        (WebCore::Tile::create):
36084        (WebCore::Tile::coordinate):
36085        (WebCore::Tile::rect):
36086        * platform/graphics/TiledBackingStore.cpp: Added.
36087        (WebCore::TiledBackingStore::TiledBackingStore):
36088        (WebCore::TiledBackingStore::~TiledBackingStore):
36089        (WebCore::TiledBackingStore::invalidate):
36090        (WebCore::TiledBackingStore::updateTileBuffers):
36091        (WebCore::TiledBackingStore::paint):
36092        (WebCore::TiledBackingStore::viewportChanged):
36093        (WebCore::TiledBackingStore::setContentsScale):
36094        (WebCore::TiledBackingStore::tileDistance):
36095        (WebCore::TiledBackingStore::createTiles):
36096        (WebCore::TiledBackingStore::dropOverhangingTiles):
36097        (WebCore::TiledBackingStore::dropTilesOutsideRect):
36098        (WebCore::TiledBackingStore::tileAt):
36099        (WebCore::TiledBackingStore::setTile):
36100        (WebCore::TiledBackingStore::removeTile):
36101        (WebCore::TiledBackingStore::mapToContents):
36102        (WebCore::TiledBackingStore::mapFromContents):
36103        (WebCore::TiledBackingStore::contentsRect):
36104        (WebCore::TiledBackingStore::tileRectForCoordinate):
36105        (WebCore::TiledBackingStore::tileCoordinateForPoint):
36106        (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
36107        (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
36108        (WebCore::TiledBackingStore::startTileCreationTimer):
36109        (WebCore::TiledBackingStore::tileCreationTimerFired):
36110        (WebCore::TiledBackingStore::setContentsFrozen):
36111        * platform/graphics/TiledBackingStore.h: Added.
36112        (WebCore::TiledBackingStore::contentsScale):
36113        (WebCore::TiledBackingStore::contentsFrozen):
36114        * platform/graphics/TiledBackingStoreClient.h: Added.
36115        * platform/graphics/qt/TileQt.cpp: Added.
36116        (WebCore::checkeredPixmap):
36117        (WebCore::Tile::Tile):
36118        (WebCore::Tile::~Tile):
36119        (WebCore::Tile::isDirty):
36120        (WebCore::Tile::isReadyToPaint):
36121        (WebCore::Tile::invalidate):
36122        (WebCore::Tile::updateBackBuffer):
36123        (WebCore::Tile::swapBackBufferToFront):
36124        (WebCore::Tile::paint):
36125        (WebCore::Tile::paintCheckerPattern):
36126
361272010-03-14  Dan Bernstein  <mitz@apple.com>
36128
36129        Reviewed by Darin Adler.
36130
36131        WebCore part of removing support for legacy versions of Core Graphics
36132
36133        * WebCore.vcproj/WebCore.vcproj: Removed FontDatabase.{cpp,h}
36134        * platform/graphics/win/FontCGWin.cpp:
36135        (WebCore::Font::drawGlyphs): Removed call to wkCanCreateCGFontWithLOGFONT(),
36136        as it is now always true.
36137        * platform/graphics/win/FontCacheWin.cpp:
36138        (WebCore::FontCache::createFontPlatformData): Ditto.
36139        * platform/graphics/win/FontCustomPlatformData.cpp:
36140        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Updated for
36141        the removal of m_cgFont.
36142        (WebCore::FontCustomPlatformData::fontPlatformData): Removed call to
36143        wkCanCreateCGFontWithLOGFONT(), as it is now always true.
36144        (WebCore::createFontCustomPlatformData): Ditto. Also updated for change to
36145        the FontCustomPlatformData constructor.
36146        * platform/graphics/win/FontCustomPlatformData.h: Removed m_cgFont member.
36147        (WebCore::FontCustomPlatformData::FontCustomPlatformData): Removed cgFont
36148        parameter.
36149        * platform/graphics/win/FontDatabase.cpp: Removed.
36150        * platform/graphics/win/FontDatabase.h: Removed.
36151        * platform/graphics/win/FontPlatformDataCGWin.cpp:
36152        (WebCore::FontPlatformData::platformDataInit): Removed call to
36153        wkCanCreateCGFontWithLOGFONT(), as it is now always true.
36154        * platform/win/TemporaryLinkStubs.cpp:
36155        (WebCore::populateFontDatabase): Removed stub.
36156
361572010-03-14  Jessie Berlin  <jberlin@webkit.org>
36158
36159        Reviewed by Sam Weinig.
36160
36161        "event.ctrlKey" is always false when dragging an element with "ctrl" key down
36162        https://bugs.webkit.org/show_bug.cgi?id=17113
36163
36164        No new tests.
36165
36166        * page/DragController.cpp:
36167        (WebCore::createMouseEvent):
36168        Use the current state of the shift, ctrl, alt, and meta keys when creating the drag mouse event.
36169
361702010-03-13  Antonio Gomes  <tonikitoo@webkit.org>
36171
36172        Not reviewed identation fix.
36173
36174        * manual-tests/spatial-navigation/spatial-navigation-test-cases.html:
36175
361762010-03-13  Kim Grönholm  <kim.gronholm@nomovok.com>
36177
36178        Reviewed by Kenneth Rohde Christiansen.
36179
36180        [Qt] GraphicsLayer: Opacity change from zero to non-zero doesn't always have effect with AC
36181        https://bugs.webkit.org/show_bug.cgi?id=36034
36182
36183        * platform/graphics/qt/GraphicsLayerQt.cpp:
36184        (WebCore::OpacityAnimationQt::applyFrame):
36185
361862010-03-13  Kim Grönholm  <kim.gronholm@nomovok.com>
36187
36188        Reviewed by Kenneth Rohde Christiansen.
36189
36190        [Qt] GraphicsLayer: Opacity transitions end with begin value
36191        https://bugs.webkit.org/show_bug.cgi?id=36019
36192
36193        * platform/graphics/qt/GraphicsLayerQt.cpp:
36194        (WebCore::AnimationQt::updateCurrentTime):
36195
361962010-03-13  Dirk Schulze  <krit@webkit.org>
36197
36198        No review, rolling out r55927.
36199        http://trac.webkit.org/changeset/55927
36200        https://bugs.webkit.org/show_bug.cgi?id=35793
36201
36202        Breaks Gtk build bots.
36203
36204        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36205        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
36206        (WebCore::MediaPlayerPrivate::load):
36207        (WebCore::MediaPlayerPrivate::setPreload):
36208        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
36209
362102010-03-12  Dirk Schulze  <krit@webkit.org>
36211
36212        Reviewed by Nikolas Zimmermann.
36213
36214        SVG Glyphs - transform path not context
36215        https://bugs.webkit.org/show_bug.cgi?id=36070
36216
36217        SVGFont should transform the path of a glyph, not the context. Modifying
36218        the context causes wrong gradient transformations. This bug doesn't
36219        influence CG because we generally fill or stroke texts with a mask image.
36220        All other platforms provide a direct way to make the drawings.
36221
36222        * svg/SVGFont.cpp:
36223        (WebCore::Font::drawTextUsingSVGFont):
36224
362252010-03-12  Beth Dakin  <bdakin@apple.com>
36226
36227        Reviewed by Simon Fraser.
36228
36229        Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen 
36230        API naming is inconsistent
36231        -and corresponding-
36232        <rdar://problem/7729165>
36233
36234        This patch changes all occurrences of "fullScreen" to the more 
36235        popular "fullscreen." webkitEnterFullScreen and 
36236        webkitExitFullScreen have been maintained for now for backwards 
36237        compatibility. 
36238
36239        * html/HTMLVideoElement.cpp:
36240        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
36241        (WebCore::HTMLVideoElement::webkitExitFullscreen):
36242        * html/HTMLVideoElement.h:
36243        (WebCore::HTMLVideoElement::webkitEnterFullScreen):
36244        (WebCore::HTMLVideoElement::webkitExitFullScreen):
36245        * html/HTMLVideoElement.idl:
36246        * platform/graphics/mac/MediaPlayerProxy.h:
36247
362482010-03-12  James Robinson  <jamesr@chromium.org>
36249
36250        Reviewed by Adam Barth.
36251
36252        Add virtual destructor to DOMWrapperWorld
36253        https://bugs.webkit.org/show_bug.cgi?id=36077
36254
36255        DOMWrapperWorld is RefCounted<DOMWrapperWorld>.  IsolatedWorld
36256        inherits from DOMWrapperWorld and has member variables
36257        with destructors, so DOMWrapperWorld needs to have a declared virtual
36258        d'tor to ensure that its derived class's destructors are called.
36259
36260        No new tests, no change in behavior
36261
36262        * bindings/v8/DOMWrapperWorld.h:
36263        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
36264
36265
362662010-03-11  Gavin Barraclough  <barraclough@apple.com>
36267
36268        Reviewed by Oliver Hunt.
36269
36270        Bug 36075 - Clean up screwyness re static string impls & Identifiers.
36271
36272        * platform/text/StringImpl.cpp:
36273        (WebCore::StringImpl::~StringImpl): Add ASSERT
36274        (WebCore::StringImpl::sharedBuffer): Add ASSERT
36275        * platform/text/StringImpl.h:
36276        (WebCore::StringImpl::setHash): Add ASSERT
36277        (WebCore::StringImpl::isStatic): added.
36278
362792010-03-12  Enrica Casucci  <enrica@apple.com>
36280
36281        Reviewed by Simon Fraser.
36282
36283        Content of 3D tests appears at the bottom right corner sometimes.
36284        <rdar://problem/7556244>
36285        <https://bugs.webkit.org/show_bug.cgi?id=36027>
36286
36287        There were two problems to solve here:
36288        - the incorrect anchoring of the rootChildLayer that was causing the composited
36289          content to be positioned incorrectly
36290        - the failure to paint the non composited content into the backing store when
36291          animating composited content.
36292          
36293        The first problem has been solved by leaving the original anchor point for the
36294        rootChildLayer and splitting the tasks of clipping and scrolling using two separate layers.
36295        The second problem has been solved leveraging the knowledge that WebView has of the dirty region
36296        of the backing store to pass this information to the layer renderer. This allows the renderer to force
36297        a paint into the backing store before moving to the compositing.
36298        
36299        Tests: compositing/geometry/horizontal-scroll-composited.html
36300               compositing/geometry/vertical-scroll-composited.html
36301
36302        * manual-tests/win/horizontal-scroll-composited.html: Removed. This is now a layout test.
36303        * manual-tests/win/milliondollar.html: Added.
36304        * platform/graphics/win/WKCACFLayerRenderer.cpp:
36305        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Added initialization of dirty flag.
36306        (WebCore::WKCACFLayerRenderer::setScrollFrame): 
36307        (WebCore::WKCACFLayerRenderer::updateScrollFrame): Updated to resize and position the clip and scroll layers.
36308        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
36309        (WebCore::WKCACFLayerRenderer::createRenderer): Added new layer hierarchy.
36310        (WebCore::WKCACFLayerRenderer::destroyRenderer): Remove clip layer on destroy.
36311        (WebCore::WKCACFLayerRenderer::resize):
36312        (WebCore::WKCACFLayerRenderer::paint): Forcing paint massage to trigger paint into the backing store.
36313        * platform/graphics/win/WKCACFLayerRenderer.h:
36314        (WebCore::WKCACFLayerRenderer::setBackingStoreDirty): Added.
36315
363162010-03-12  Robert Hogan  <robert@webkit.org>
36317
36318        Not reviewed, build fix.
36319
36320        Revert http://trac.webkit.org/projects/webkit/changeset/55374 which broke
36321        the !ENABLE(DATABASE) build on all platforms when attempting to fix the
36322        --minimal build on Qt.
36323
36324        Support for SQLite now seems to be non-negotiable for the Qt build but making
36325        it mandatory requires review, so re-break --minimal Qt build for now.
36326
36327        Qt build issue now tracked at https://bugs.webkit.org/show_bug.cgi?id=36073
36328
36329        * page/GeolocationPositionCache.cpp:
36330
363312010-03-12  Dan Bernstein  <mitz@apple.com>
36332
36333        Reviewed by Alexey Proskuryakov.
36334
36335        <rdar://problem/7709115> REGRESSION: toolbar is missing at http://www.glom.org/
36336        https://bugs.webkit.org/show_bug.cgi?id=35507
36337
36338        * css/CSSImportRule.cpp:
36339        (WebCore::CSSImportRule::setCSSStyleSheet): Extend the change made in
36340        <http://trac.webkit.org/changeset/48818> to detect the two variants of
36341        KHTMLFixes.css in @import rules as well as in <link> elements.
36342
363432010-03-12  Gavin Barraclough  <barraclough@apple.com>
36344
36345        Reviewed by Geoff Garen.
36346
36347        Bug 36052 - [Qt] REGRESSION(55878) 63 test cases crash
36348
36349        r55878 changed UStringImpl::empty()->characters() to be non-null,
36350        so TextBreakIteratorQt.cpp now should check the length of strings
36351        (previously was assuming all strings with a non-null data pointer
36352        had a length of at least 1).
36353
36354        * platform/text/qt/TextBreakIteratorQt.cpp:
36355        (WebCore::wordBreakIterator):
36356        (WebCore::characterBreakIterator):
36357        (WebCore::lineBreakIterator):
36358        (WebCore::sentenceBreakIterator):
36359
363602010-03-12  Dirk Schulze  <krit@webkit.org>
36361
36362        Reviewed by Nikolas Zimmermann.
36363
36364        SVG fallback color doesn't work for bogus gradients.
36365        https://bugs.webkit.org/show_bug.cgi?id=35479
36366
36367        Use a given fallback color on ignored gradients if present. Gradients
36368        must be ignored, if one dimension of the objects boundingBox is zero.
36369
36370        Test: svg/custom/gradient-with-1d-boundingbox.svg
36371
36372        * svg/graphics/SVGPaintServer.cpp:
36373        (WebCore::SVGPaintServer::strokePaintServer):
36374        * svg/graphics/SVGPaintServerGradient.cpp:
36375        (WebCore::SVGPaintServerGradient::setup):
36376
363772010-03-12  David Hyatt  <hyatt@apple.com>
36378
36379        Reviewed by Dan Bernstein.
36380
36381        https://bugs.webkit.org/show_bug.cgi?id=36069
36382        
36383        Eliminate InlineRunBox.
36384
36385        * WebCore.xcodeproj/project.pbxproj:
36386        * rendering/InlineFlowBox.cpp:
36387        (WebCore::InlineFlowBox::adjustPosition):
36388        (WebCore::InlineFlowBox::paintFillLayer):
36389        (WebCore::InlineFlowBox::paintBoxDecorations):
36390        (WebCore::InlineFlowBox::paintMask):
36391        * rendering/InlineFlowBox.h:
36392        (WebCore::InlineFlowBox::InlineFlowBox):
36393        (WebCore::InlineFlowBox::prevLineBox):
36394        (WebCore::InlineFlowBox::nextLineBox):
36395        (WebCore::InlineFlowBox::setNextLineBox):
36396        (WebCore::InlineFlowBox::setPreviousLineBox):
36397        * rendering/InlineRunBox.h: Removed.
36398        * rendering/InlineTextBox.h:
36399        (WebCore::InlineTextBox::InlineTextBox):
36400        (WebCore::InlineTextBox::prevTextBox):
36401        (WebCore::InlineTextBox::nextTextBox):
36402        (WebCore::InlineTextBox::setNextTextBox):
36403        (WebCore::InlineTextBox::setPreviousTextBox):
36404        * rendering/RenderBlock.cpp:
36405        (WebCore::RenderBlock::destroy):
36406        (WebCore::RenderBlock::rightmostPosition):
36407        (WebCore::RenderBlock::leftmostPosition):
36408        * rendering/RenderInline.cpp:
36409        (WebCore::RenderInline::destroy):
36410        (WebCore::RenderInline::absoluteRects):
36411        (WebCore::RenderInline::absoluteQuads):
36412        (WebCore::RenderInline::linesBoundingBox):
36413        (WebCore::RenderInline::linesVisibleOverflowBoundingBox):
36414        (WebCore::RenderInline::addFocusRingRects):
36415        (WebCore::RenderInline::paintOutline):
36416        * rendering/RenderLayer.cpp:
36417        (WebCore::RenderLayer::localBoundingBox):
36418        * rendering/RenderLineBoxList.cpp:
36419        (WebCore::RenderLineBoxList::deleteLineBoxTree):
36420        (WebCore::RenderLineBoxList::extractLineBox):
36421        (WebCore::RenderLineBoxList::attachLineBox):
36422        (WebCore::RenderLineBoxList::removeLineBox):
36423        (WebCore::RenderLineBoxList::deleteLineBoxes):
36424        (WebCore::RenderLineBoxList::dirtyLineBoxes):
36425        (WebCore::RenderLineBoxList::paint):
36426        (WebCore::RenderLineBoxList::hitTest):
36427        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
36428        (WebCore::RenderLineBoxList::checkConsistency):
36429        * rendering/RenderSVGInline.cpp:
36430        (WebCore::RenderSVGInline::absoluteRects):
36431        (WebCore::RenderSVGInline::absoluteQuads):
36432        * rendering/RenderSVGText.cpp:
36433        (WebCore::RenderSVGText::absoluteRects):
36434        (WebCore::RenderSVGText::absoluteQuads):
36435        (WebCore::RenderSVGText::objectBoundingBox):
36436        * rendering/RenderText.cpp:
36437        (WebCore::RenderText::extractTextBox):
36438        (WebCore::RenderText::attachTextBox):
36439        (WebCore::RenderText::removeTextBox):
36440        (WebCore::RenderText::createInlineTextBox):
36441        (WebCore::RenderText::positionLineBox):
36442        * rendering/RootInlineBox.h:
36443        (WebCore::RootInlineBox::nextRootBox):
36444        (WebCore::RootInlineBox::prevRootBox):
36445
364462010-03-12  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
36447
36448        Reviewed by Eric Carlson.
36449
36450        media/video-preload.html fails
36451        https://bugs.webkit.org/show_bug.cgi?id=35793
36452
36453        Only effectively load, and start buffering when playing, or when
36454        the preload attribute is set.
36455
36456        Test: media/video-preload.html
36457
36458        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
36459        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
36460        (WebCore::MediaPlayerPrivate::load):
36461        (WebCore::MediaPlayerPrivate::commitLoad):
36462        (WebCore::MediaPlayerPrivate::prepareToPlay):
36463        (WebCore::MediaPlayerPrivate::setPreload):
36464        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
36465
364662010-03-12  Dmitry Titov  <dimich@chromium.org>
36467
36468        Not reviewed, build fix.
36469
36470        Reverts 55920 and 55921. Landing for Jian Li.
36471
36472        * Android.derived.jscbindings.mk:
36473        * Android.derived.v8bindings.mk:
36474        * DerivedSources.cpp:
36475        * DerivedSources.make:
36476        * GNUmakefile.am:
36477        * WebCore.gypi:
36478        * WebCore.pri:
36479        * WebCore.vcproj/WebCore.vcproj:
36480        * WebCore.xcodeproj/project.pbxproj:
36481        * bindings/js/JSDOMFormDataCustom.cpp: Removed.
36482        * bindings/js/JSXMLHttpRequestCustom.cpp:
36483        (WebCore::JSXMLHttpRequest::send):
36484        * bindings/scripts/CodeGeneratorJS.pm:
36485        * bindings/v8/V8Index.h:
36486        * bindings/v8/custom/V8DOMFormDataCustom.cpp: Removed.
36487        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
36488        (WebCore::V8XMLHttpRequest::sendCallback):
36489        * html/DOMFormData.idl: Removed.
36490        * page/DOMWindow.idl:
36491
364922010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36493
36494        Reviewed by Dirk Schulze.
36495
36496        [OpenVG] Add support for drawing text to PainterOpenVG
36497        https://bugs.webkit.org/show_bug.cgi?id=35581
36498
36499        Doesn't come with any actual font classes, as OpenVG
36500        by itself doesn't provide any access to platform fonts
36501        but just the means to draw glyphs that have been loaded
36502        manually before.
36503
36504        * platform/graphics/openvg/PainterOpenVG.cpp:
36505        (WebCore::PlatformPainterState::PlatformPainterState):
36506        (WebCore::PlatformPainterState::copyPaintState):
36507        (WebCore::PainterOpenVG::textDrawingMode):
36508        (WebCore::PainterOpenVG::setTextDrawingMode):
36509        (WebCore::PainterOpenVG::drawText):
36510        * platform/graphics/openvg/PainterOpenVG.h:
36511
365122010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36513
36514        Reviewed by Dirk Schulze.
36515
36516        [OpenVG] Use masks to implement non-rectilinear clipping
36517        https://bugs.webkit.org/show_bug.cgi?id=35544
36518
36519        Requires some additional context switching logic to
36520        make sure the right context is current when dealing
36521        with the mask, because we don't store it by ourselves.
36522
36523        Initial version of this code was written by
36524        Eli Fidler <efidler@rim.com>, I did a couple of
36525        bug fixes and efficiency improvements since then.
36526
36527        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
36528        (WebCore::GraphicsContext::clipPath):
36529        (WebCore::GraphicsContext::clip):
36530        (WebCore::GraphicsContext::clipOut):
36531        (WebCore::GraphicsContext::clipOutEllipseInRect):
36532        (WebCore::GraphicsContext::addInnerRoundedRectClip):
36533        * platform/graphics/openvg/PainterOpenVG.cpp:
36534        (WebCore::PlatformPainterState::PlatformPainterState):
36535        (WebCore::PlatformPainterState::~PlatformPainterState):
36536        (WebCore::PlatformPainterState::maskingEnabled):
36537        (WebCore::PlatformPainterState::applyState):
36538        (WebCore::PlatformPainterState::saveMaskIfNecessary):
36539        (WebCore::PainterOpenVG::intersectClipRect):
36540        (WebCore::PainterOpenVG::clipPath):
36541        (WebCore::PainterOpenVG::save):
36542        * platform/graphics/openvg/PainterOpenVG.h:
36543        (WebCore::PainterOpenVG::):
36544        * platform/graphics/openvg/SurfaceOpenVG.cpp:
36545        (WebCore::SurfaceOpenVG::makeCurrent):
36546        (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
36547        * platform/graphics/openvg/SurfaceOpenVG.h:
36548        (WebCore::SurfaceOpenVG::):
36549
365502010-03-12  Jian Li  <jianli@chromium.org>
36551
36552        Reviewed by Sam Weinig.
36553
36554        Add DOMFormData.idl to expose FormData interface.
36555        https://bugs.webkit.org/show_bug.cgi?id=36024
36556        
36557        The implementation is based on XMLHttpRequest 2 spec:
36558        http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#formdata
36559
36560        Test: http/tests/local/send-form-data.html
36561
36562        * Android.derived.jscbindings.mk:
36563        * Android.derived.v8bindings.mk:
36564        * DerivedSources.cpp:
36565        * DerivedSources.make:
36566        * GNUmakefile.am:
36567        * WebCore.pri:
36568        * WebCore.vcproj/WebCore.vcproj:
36569        * WebCore.xcodeproj/project.pbxproj:
36570        * bindings/js/JSDOMFormDataCustom.cpp: Added.
36571        * bindings/js/JSXMLHttpRequestCustom.cpp:
36572        (WebCore::JSXMLHttpRequest::send):
36573        * bindings/scripts/CodeGeneratorJS.pm:
36574        * html/DOMFormData.idl: Added.
36575        * page/DOMWindow.idl:
36576
365772010-03-12  Jakob Petsovits  <jpetsovits@rim.com>
36578
36579        Reviewed by Dirk Schulze.
36580
36581        [OpenVG] Add a SurfaceOpenVG constructor for EGL client buffer surfaces
36582        https://bugs.webkit.org/show_bug.cgi?id=35538
36583
36584        SurfaceOpenVG can now not only encapsulate pbuffer
36585        and window surfaces but also VGImage-based ones.
36586
36587        * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
36588        (WebCore::EGLDisplayOpenVG::createPbufferFromClientBuffer):
36589        * platform/graphics/openvg/EGLDisplayOpenVG.h:
36590        * platform/graphics/openvg/SurfaceOpenVG.cpp:
36591        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
36592        * platform/graphics/openvg/SurfaceOpenVG.h:
36593
365942010-03-12  Alpha Lam  <hclam@chromium.org>
36595
36596        Reviewed by Eric Carlson.
36597
36598        Fix a crash when resource loading of media element is canceled.
36599        https://bugs.webkit.org/show_bug.cgi?id=35992
36600
36601        Use of HTMLMediaElement::duration() after resource loading was canceled
36602        will cause a crash. This is because HTMLMediaElement::m_player is used
36603        when NULL.
36604        Test: http/tests/media/video-cancel-load.html
36605
36606        * html/HTMLMediaElement.cpp:
36607        (WebCore::HTMLMediaElement::duration):
36608        Avoid calling to m_player when it is null.
36609        (WebCore::HTMLMediaElement::userCancelledLoad):
36610        Set m_readyState to HAVE_NOTHING.
36611
366122010-03-12  Dan Bernstein  <mitz@apple.com>
36613
36614        Reviewed by Darin Adler.
36615
36616        <rdar://problem/7725534> CSSPrimitiveValue::parserValue() returns deleted memory
36617        https://bugs.webkit.org/show_bug.cgi?id=20069
36618
36619        No test added, since with the CSS variables feature disabled, the pointer
36620        to the freed memory is never dereferenced.
36621
36622        * css/CSSPrimitiveValue.cpp:
36623        (WebCore::valueOrPropertyName): Changed to return a const AtomicString& from
36624        a static table.
36625        (WebCore::CSSPrimitiveValue::parserValue): Updated for the above change.
36626
366272010-03-12  Dan Bernstein  <mitz@apple.com>
36628
36629        Build fix.
36630
36631        * platform/chromium/PlatformKeyboardEventChromium.cpp:
36632
366332010-03-12  Dan Bernstein  <mitz@apple.com>
36634
36635        Reviewed by Darin Adler.
36636
36637        <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer
36638        https://bugs.webkit.org/show_bug.cgi?id=35949
36639
36640        Test: fast/events/overflow-scroll-fake-mouse-move.html
36641
36642        Soon after an overflow section scrolls under the mouse pointer, dispatch
36643        a fake mouse move event. This is similar to how frame scrolling is handled
36644        in WebKit, and has the effect of updating hover state, dispatching DOM mouse
36645        events, and updating the tool tip.
36646
36647        * page/EventHandler.cpp:
36648        (WebCore::EventHandler::EventHandler): Initialize m_fakeMouseMoveEventTimer.
36649        (WebCore::EventHandler::~EventHandler): Assert that the timer is not active.
36650        (WebCore::EventHandler::clear): Stop the timer.
36651        (WebCore::EventHandler::handleMousePressEvent): Cancel pending fake mouse
36652        move events.
36653        (WebCore::EventHandler::handleMouseMoveEvent): Ditto.
36654        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad): If the mouse
36655        is in the passed-in quad, ensure that a fake mouse move event is scheduled
36656        to fire soon.
36657        (WebCore::EventHandler::cancelFakeMouseMoveEvent): Does what the name says.
36658        (WebCore::EventHandler::fakeMouseMoveEventTimerFired): Constructs a
36659        PlatformMouseEvent with the current mouse location, modifier key state and
36660        time stamp and calls mouseMoved().
36661        * page/EventHandler.h:
36662        * platform/PlatformKeyboardEvent.h: Declared getCurrentModifierState().
36663        * platform/android/KeyEventAndroid.cpp:
36664        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36665        * platform/brew/PlatformKeyboardEventBrew.cpp:
36666        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36667        * platform/chromium/PlatformKeyboardEventChromium.cpp:
36668        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36669        * platform/efl/PlatformKeyboardEventEfl.cpp:
36670        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36671        * platform/gtk/KeyEventGtk.cpp:
36672        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36673        * platform/haiku/PlatformKeyboardEventHaiku.cpp:
36674        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36675        * platform/mac/KeyEventMac.mm:
36676        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36677        * platform/qt/PlatformKeyboardEventQt.cpp:
36678        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Stubbed out.
36679        * platform/win/KeyEventWin.cpp:
36680        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Added.
36681        * platform/wx/KeyboardEventWx.cpp:
36682        (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Ditto.
36683        * rendering/RenderLayer.cpp:
36684        (WebCore::RenderLayer::scrollToOffset): Call
36685        EventHandler::dispatchFakeMouseMoveEventSoonInQuad(). Moved things around
36686        a little to avoid computing the repaint rect twice.
36687
366882010-03-12  Kent Hansen  <kent.hansen@nokia.com>
36689
36690        Reviewed by Darin Adler.
36691
36692        Webkit doesn't build with workers on and database off
36693        https://bugs.webkit.org/show_bug.cgi?id=35997
36694
36695        Added missing ENABLE(DATABASE) guards.
36696
36697        * workers/WorkerThread.cpp:
36698        (WebCore::WorkerThreadShutdownStartTask::performTask):
36699
367002010-03-12  Dan Winship  <danw@gnome.org>
36701
36702        Reviewed by Gustavo Noronha.
36703
36704        Make the defaultCookieJar use a no-third-party policy. Most
36705        applications set their own cookie jar, but DumpRenderTree doesn't,
36706        so it was failing the new third-party-cookie test.
36707
36708        * platform/network/soup/CookieJarSoup.cpp:
36709        (WebCore::defaultCookieJar):
36710
367112010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
36712
36713        Reviewed by Laszlo Gombos.
36714
36715        [Qt] Enable network state notifier when compiling against Qt 4.7
36716        https://bugs.webkit.org/show_bug.cgi?id=35983
36717
36718        * WebCore.pri:
36719        * platform/network/qt/NetworkStateNotifierPrivate.h:
36720        * platform/network/qt/NetworkStateNotifierQt.cpp:
36721
367222010-03-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
36723
36724        Reviewed by Adam Treat.
36725
36726        Do not render the full frame when there is some elements with fixed positioning
36727        https://bugs.webkit.org/show_bug.cgi?id=33150
36728
36729        The frame view take into acount the list of fixed object when scrolling
36730        the view. If the number of object is lower than a certain threshold, the pixel
36731        are blitted, and the invalidated area updated.
36732
36733        * page/FrameView.cpp:
36734        (WebCore::FrameView::FrameView):
36735        (WebCore::FrameView::useSlowRepaints):
36736        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
36737        (WebCore::FrameView::addFixedObject):
36738        (WebCore::FrameView::removeFixedObject):
36739        (WebCore::FrameView::scrollContentsFastPath):
36740        * page/FrameView.h:
36741        * platform/ScrollView.cpp:
36742        (WebCore::ScrollView::scrollContents):
36743        (WebCore::ScrollView::scrollContentsFastPath):
36744        * platform/ScrollView.h:
36745        * rendering/RenderBlock.h:
36746        (WebCore::RenderBlock::positionedObjects):
36747        * rendering/RenderBox.cpp:
36748        (WebCore::RenderBox::styleWillChange):
36749        * rendering/RenderObject.cpp:
36750        (WebCore::RenderObject::styleWillChange):
36751
367522010-03-11  Aaron Boodman  <aa@chromium.org>
36753
36754        Kill WebDocument::applicationID() (part 1).
36755
36756        Modify interface to WebCore::NotificationPresenter::checkPermission()
36757        and remove implementation of WebDocument::applicationID(). Breaking
36758        API changes will be in a subsequent change.
36759        https://bugs.webkit.org/show_bug.cgi?id=35846
36760
36761        * notifications/Notification.cpp:
36762        (WebCore::Notification::Notification):
36763        * notifications/NotificationCenter.cpp:
36764        (WebCore::NotificationCenter::checkPermission):
36765        * notifications/NotificationPresenter.h:
36766
367672010-03-11  Dmitry Titov  <dimich@chromium.org>
36768
36769        Reviewed by David Levin.
36770
36771        [v8] Remove obsolete code for delayed dereferencing of DOM objects for single-heap, multithread v8 usage.
36772        https://bugs.webkit.org/show_bug.cgi?id=36043
36773
36774        No new tests, no changes in functionality.
36775
36776        * bindings/v8/DOMData.cpp:
36777        (WebCore::DOMData::DOMData):
36778        * bindings/v8/DOMData.h:
36779        (WebCore::DOMData::handleWeakObject):
36780        * bindings/v8/DOMDataStore.cpp:
36781        * bindings/v8/DOMDataStore.h:
36782        (WebCore::DOMDataStore::domObjectMap):
36783        (WebCore::DOMDataStore::activeDomObjectMap):
36784        (WebCore::DOMDataStore::domSvgElementInstanceMap):
36785        (WebCore::DOMDataStore::domSvgObjectWithContextMap):
36786        * bindings/v8/ScopedDOMDataStore.cpp:
36787        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
36788        * bindings/v8/StaticDOMDataStore.cpp:
36789        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
36790        * bindings/v8/StaticDOMDataStore.h:
36791        * bindings/v8/V8DOMMap.cpp:
36792        (WebCore::removeAllDOMObjectsInCurrentThread):
36793
367942010-03-11  Gavin Barraclough  <barraclough@apple.com>
36795
36796        Rubber stamped by Oliver Hunt.
36797
36798        Remove nonsense comments used in development & commited in error.
36799
36800        * platform/text/StringImpl.h:
36801
368022010-03-11  Gavin Barraclough  <barraclough@apple.com>
36803
36804        Reviewed by Oliver Hunt.
36805
36806        https://bugs.webkit.org/show_bug.cgi?id=36041
36807        Remove unnecessary differences in common code between WebCore::StringImpl & JSC::UStringImpl
36808
36809        Much of the code in WebCore::StringImpl and JSC::UStringImpl is now very similar,
36810        but has trivial and unnecessary formatting differences, such as the exact wording
36811        of comments, missing ASSERTs, functions implemented in the .h vs .cpp etc.
36812
36813        * platform/text/StringImpl.cpp:
36814        (WebCore::StringImpl::empty): Reordered in file, made empty()->characters() return a non-null value to match JSC.
36815        (WebCore::StringImpl::createUninitialized): Added overflow check.
36816        (WebCore::StringImpl::create): Reordered in file.
36817        (WebCore::StringImpl::sharedBuffer): Reordered in file.
36818        * platform/text/StringImpl.h:
36819        (WebCore::StringImpl::): Remove ThreadGlobalData as friend, move SharableUChar & SharedUChar to WebCore namespace.
36820        (WebCore::StringImpl::StringImpl): Made static constructor method (used to create empty string) take arguments, to match JSC & prevent accidental use.
36821        (WebCore::StringImpl::setHash): Added missing ASSERT.
36822        (WebCore::StringImpl::adopt): Make adpot work with Vectors with a non-zero inline capacity.
36823        (WebCore::StringImpl::characters): Mark as const to match JSC.
36824        (WebCore::StringImpl::hash): Use !m_hash instead of m_hash == 0.
36825        (WebCore::StringImpl::computeHash): Remove redundant 'inline'.
36826
368272010-03-11  Mark Rowe  <mrowe@apple.com>
36828
36829        Reviewed by David Kilzer.
36830
36831        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36832
36833        Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
36834
36835        * Configurations/Base.xcconfig:
36836
368372010-03-11  Jungshik Shin  <jshin@chromium.org>
36838
36839        [Chromium]: Plane 2 characters are rendered "blank" 
36840         (not even empty boxes) on Windows even when there are fonts to
36841         cover them. 
36842
36843        https://bugs.webkit.org/show_bug.cgi?id=35605
36844
36845        Test:LayoutTests/fast/text/international/plane2.html 
36846
36847        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
36848        (WebCore::LookupAltName): Add two ExtB fonts to the array (namePairs) that are used for Plane 2 character rendering.
36849        (WebCore::FontCache::getFontDataForCharacters): Add two more fonts to the fallback font list
36850        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
36851        (WebCore::getFallbackFamily): Fix the fallback font lookup to cover Plane 2 (CJK ExtB).
36852
368532010-03-11  Leandro Pereira  <leandro@profusion.mobi>
36854
36855        Reviewed by Holger Freyther.
36856
36857        Add EFL port files to platform/efl.
36858        http://webkit.org/b/35889
36859
36860        * platform/efl/SystemTimeEfl.cpp: Added.
36861
368622010-03-11  Mark Rowe  <mrowe@apple.com>
36863
36864        Reviewed by Tim Hatcher.
36865
36866        <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
36867
36868        Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted.  It defaults to the
36869        current Mac OS X version unless otherwise specified.
36870
36871        Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
36872
36873        Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
36874        may not be usable when targetting a different Mac OS X version.
36875
36876        Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
36877        MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
36878
36879        * Configurations/Base.xcconfig:
36880        * Configurations/DebugRelease.xcconfig:
36881        * Configurations/FeatureDefines.xcconfig:
36882        * Configurations/Version.xcconfig:
36883        * Configurations/WebCore.xcconfig:
36884
368852010-03-11  Anders Carlsson  <andersca@apple.com>
36886
36887        Reviewed by David Hyatt.
36888
36889        Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
36890
36891        * loader/EmptyClients.h:
36892        * page/Chrome.cpp:
36893        * page/Chrome.h:
36894        * page/ChromeClient.h:
36895        * platform/HostWindow.h:
36896
368972010-03-11  Nate Chapin  <japhet@chromium.org>
36898
36899        Reviewed by Dimitri Glazkov.
36900
36901        [V8] Remove DOMObjectsInclude.h and update headers accordingly.
36902
36903        https://bugs.webkit.org/show_bug.cgi?id=36036
36904
36905        * WebCore.gypi:
36906        * bindings/v8/DOMData.h:
36907        * bindings/v8/DOMDataStore.h:
36908        * bindings/v8/DOMObjectsInclude.h: Removed.
36909        * bindings/v8/V8DOMMap.cpp:
36910        * bindings/v8/V8DOMWindowShell.cpp:
36911        * bindings/v8/V8DOMWrapper.cpp:
36912        * bindings/v8/V8GCController.cpp:
36913        * bindings/v8/V8Proxy.cpp:
36914
369152010-03-11  Simon Fraser  <simon.fraser@apple.com>
36916
36917        Reviewed by Mark Rowe.
36918
36919        Remove duplicate entries revealed after sorting.
36920
36921        * WebCore.xcodeproj/project.pbxproj:
36922
369232010-03-11  Simon Fraser  <simon.fraser@apple.com>
36924
36925        Reviewed by Mark Rowe.
36926
36927        Sort the project file (also removing some bogus spaces that caused Xcode to rewrite the file
36928        every time you opened it).
36929
36930        * WebCore.xcodeproj/project.pbxproj:
36931
369322010-03-11  Nate Chapin  <japhet@chromium.org>
36933
36934        Reviewed by Dimitri Glazkov.
36935
36936        Fix style issues and improve comments from 
36937        http://trac.webkit.org/changeset/55853.
36938
36939        https://bugs.webkit.org/show_bug.cgi?id=36029
36940
36941        * platform/animation/TimingFunction.h:
36942        (WebCore::TimingFunction::TimingFunction):
36943
369442010-03-11  Chris Fleizach  <cfleizach@apple.com>
36945
36946        Reviewed by Beth Dakin.
36947
36948        accessibilityIsIgnoredBase() needs to respect when platform says include
36949        https://bugs.webkit.org/show_bug.cgi?id=36025
36950
36951        Changed accessibilityIsIgnoredBase() to return a policy instead of a yes/no
36952        answer. This allows the platform to make a yes decision on an element.
36953
36954        * accessibility/AccessibilityList.cpp:
36955        (WebCore::AccessibilityList::accessibilityIsIgnored):
36956        * accessibility/AccessibilityListBox.cpp:
36957        (WebCore::AccessibilityListBox::accessibilityIsIgnored):
36958        * accessibility/AccessibilityObject.h:
36959        (WebCore::):
36960        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
36961        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36962        * accessibility/AccessibilityRenderObject.cpp:
36963        (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
36964        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
36965        * accessibility/AccessibilityRenderObject.h:
36966        * accessibility/AccessibilitySlider.cpp:
36967        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
36968        * accessibility/AccessibilityTable.cpp:
36969        (WebCore::AccessibilityTable::accessibilityIsIgnored):
36970        * accessibility/AccessibilityTableCell.cpp:
36971        (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
36972        * accessibility/AccessibilityTableRow.cpp:
36973        (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
36974        * accessibility/chromium/AccessibilityObjectChromium.cpp:
36975        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36976        * accessibility/gtk/AccessibilityObjectAtk.cpp:
36977        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36978        * accessibility/mac/AccessibilityObjectMac.mm:
36979        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36980        * accessibility/qt/AccessibilityObjectQt.cpp:
36981        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36982        * accessibility/win/AccessibilityObjectWin.cpp:
36983        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36984        * accessibility/wx/AccessibilityObjectWx.cpp:
36985        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
36986
369872010-03-11  Kenneth Russell  <kbr@google.com>
36988
36989        Reviewed by Dimitri Glazkov.
36990
36991        Fix build breakage with ENABLE_3D_CANVAS=0
36992        https://bugs.webkit.org/show_bug.cgi?id=35995
36993
36994        No new tests; verified in Chromium that WebGL is disabled in
36995        ENABLE_3D_CANVAS=0 builds.
36996
36997        * bindings/v8/custom/V8DocumentCustom.cpp:
36998        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
36999
370002010-03-11  Nate Chapin  <japhet@chromium.org>
37001
37002        Unreviewed, Chromium mac build fix.
37003
37004        Add an explicit copy constructor to TimingFunction.
37005        http://trac.webkit.org/changeset/55835 trigged an inlining
37006        bug in gcc that the copy constructor resolves.
37007
37008        * platform/animation/TimingFunction.h:
37009        (WebCore::TimingFunction::TimingFunction):
37010
370112010-03-11  Chris Fleizach  <cfleizach@apple.com>
37012
37013        Fixing GTK. No review.
37014
37015        support lang attribute on <option> elements
37016        https://bugs.webkit.org/show_bug.cgi?id=36021
37017 
37018        We don't need to cast to AccessibilityRenderObject to get language().
37019
37020        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
37021        (webkit_accessible_document_get_locale):
37022
370232010-03-11  Chris Fleizach  <cfleizach@apple.com>
37024
37025        Reviewed by Darin Adler.
37026
37027        support lang attribute on <option> elements
37028        https://bugs.webkit.org/show_bug.cgi?id=36021
37029
37030        Allow non AccessibilityRenderObject classes to access the lang
37031        attribute by moving the useful code into AccessibilityObject.
37032
37033        Test: platform/mac/accessibility/option-with-lang.html
37034
37035        * accessibility/AccessibilityListBoxOption.cpp:
37036        (WebCore::AccessibilityListBoxOption::language):
37037        * accessibility/AccessibilityListBoxOption.h:
37038        * accessibility/AccessibilityObject.cpp:
37039        (WebCore::AccessibilityObject::language):
37040        * accessibility/AccessibilityObject.h:
37041        * accessibility/AccessibilityRenderObject.cpp:
37042        (WebCore::AccessibilityRenderObject::language):
37043        * accessibility/AccessibilityRenderObject.h:
37044
370452010-03-11  Diego Gonzalez  <diego.gonzalez@openbossa.org>
37046
37047        Reviewed by Simon Hausmann.
37048
37049        [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
37050        https://bugs.webkit.org/show_bug.cgi?id=35993
37051
37052        * page/qt/EventHandlerQt.cpp:
37053        (WebCore::EventHandler::accessKeyModifiers):
37054
370552010-03-08  Brett Wilson  <brettw@chromium.org>
37056
37057        Reviewed by Adam Barth.
37058
37059        Remove the deprecated argument to url_util::IsStandard in preparation
37060        for deleting that version of the function. Pull the latest googleurl
37061        with the new version for the Chromium builder.
37062
37063        * platform/KURLGoogle.cpp:
37064        (WebCore::KURL::isHierarchical):
37065
370662010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
37067
37068        Reviewed by Tor Arne Vestbø.
37069
37070        [Qt] Make it possible to do builds with separate debug info in packages
37071
37072        * WebCore.pro:
37073
370742010-03-11  Simon Hausmann  <simon.hausmann@nokia.com>
37075
37076        Reviewed by Tor Arne Vestbø.
37077
37078        [Qt] Avoid double-buffering with Qt image decoders
37079
37080        Pass QIODevice::Unbuffered when opening the QBuffer that
37081        wraps the image data, to hint to Qt that no extra buffering
37082        is needed.
37083
37084        * platform/graphics/qt/ImageDecoderQt.cpp:
37085        (WebCore::ImageDecoderQt::setData):
37086
370872010-03-10  Ben Murdoch  <benm@google.com>
37088
37089        Reviewed by Jeremy Orlow.
37090
37091        [Android] The platform touch events on Android are missing support
37092        for key modifiers.
37093        https://bugs.webkit.org/show_bug.cgi?id=35521
37094
37095        Add support in PlatformToucHEventAndroid for the platform supplying
37096        key modifiers with touch events.
37097
37098        Fixes Android so it now passes basic-single-touch-events.html.
37099
37100        * page/EventHandler.cpp:
37101        (WebCore::EventHandler::handleTouchEvent): Fix two compiler warnings.
37102        * platform/PlatformTouchEvent.h:
37103        (WebCore::PlatformTouchEvent::PlatformTouchEvent): Add support for
37104            key modifiers on Android.
37105        * platform/android/PlatformTouchEventAndroid.cpp:
37106        (WebCore::PlatformTouchEvent::PlatformTouchEvent): ditto.
37107
371082010-03-10  Steve Block  <steveblock@google.com>
37109
37110        Reviewed by Jeremy Orlow.
37111
37112        Implements Geolocation maximumAge property
37113        https://bugs.webkit.org/show_bug.cgi?id=30676
37114
37115        Test: fast/dom/Geolocation/maximum-age.html
37116
37117        * WebCore.xcodeproj/project.pbxproj: Modified. Adds GeolocationPositionCache.h to Private headers
37118        * page/Geolocation.cpp: Modified.
37119        (WebCore::Geolocation::GeoNotifier::setUseCachedPosition): Added.
37120        (WebCore::Geolocation::GeoNotifier::runSuccessCallback): Added.
37121        (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Added logic to handle using a cached position
37122        (WebCore::Geolocation::Watchers::contains): Added. Required to determine if a notifier is a watch request
37123        (WebCore::Geolocation::startRequest): Modified. Added logic to check for a cached position
37124        (WebCore::Geolocation::requestUsesCachedPosition): Added. Callback to Geolocation object when notifier uses a cached position
37125        (WebCore::Geolocation::makeCachedPositionCallbacks): Added.
37126        (WebCore::Geolocation::haveSuitableCachedPosition): Added.
37127        (WebCore::Geolocation::setIsAllowed): Modified.
37128        (WebCore::Geolocation::positionChanged): Modified. Make callbacks using cached position where appropriate
37129        (WebCore::Geolocation::geolocationServiceErrorOccurred): Modified. Make callbacks using cached position where appropriate
37130        * page/Geolocation.h: Modified.
37131
371322010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
37133
37134        Unreviewed buildfix after r55823. (To fix Qt --minimal build.)
37135        I have déjà vu, I'm sure that I did it before. (r55598)
37136
37137        * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added. 
37138
371392010-03-11  Csaba Osztrogonác  <ossy@webkit.org>
37140
37141        [Qt] Unreviewed buildfix after r55833.
37142
37143        Rename all instances of data() to characters()
37144
37145        * bridge/qt/qt_class.cpp:
37146        (JSC::Bindings::QtClass::fieldNamed):
37147        * bridge/qt/qt_runtime.cpp:
37148        (JSC::Bindings::convertValueToQVariant):
37149
371502010-03-11  Zoltan Horvath  <zoltan@webkit.org>
37151
37152        Reviewed by Simon Hausmann.
37153
37154        Allow custom memory allocation control for RenderLayerBacking class
37155        https://bugs.webkit.org/show_bug.cgi?id=35857
37156
37157        Inherits the following class from Noncopyable because it is
37158        instantiated by 'new' and no need to be copyable:                                     
37159
37160        class name    - instantiated at: WebCore/'location'
37161        RenderLayerBacking - rendering/RenderLayer.cpp:3047
37162
37163        * rendering/RenderLayerBacking.h:
37164
371652010-03-11  Zoltan Horvath  <zoltan@webkit.org>
37166
37167        Reviewed by Simon Hausmann.
37168
37169        Allow custom memory allocation control for TimingFunction struct
37170        https://bugs.webkit.org/show_bug.cgi?id=35855
37171
37172        Inherits the following struct from FastAllocBase because it is 
37173        instantiated by 'new':
37174
37175        class name    - instantiated at: WebCore/'location'
37176        TimingFuction - platform/graphics/GraphicsLayer.h:89
37177
37178        * platform/animation/TimingFunction.h:
37179
371802010-03-10  Gavin Barraclough  <barraclough@apple.com>
37181
37182        Rubber stamped by Oliver Hunt.
37183        
37184        Rename JSC::UStringImpl::data() to characters(), to match WebCore::StringImpl.
37185
37186        * bridge/jni/jsc/JavaStringJSC.h:
37187        (JSC::Bindings::JavaStringImpl::uchars):
37188        * platform/text/AtomicString.cpp:
37189        (WebCore::AtomicString::add):
37190        (WebCore::AtomicString::find):
37191
371922010-03-10  Gavin Barraclough  <barraclough@apple.com>
37193
37194        Reviewed by Mark Rowe.
37195
37196        Fix for r55825, threadsafeCopy no longer needs to special-case for
37197        empty strings (in fact, doing so results in leaks).
37198
37199        * platform/text/StringImpl.cpp:
37200        (WebCore::StringImpl::threadsafeCopy):
37201
372022010-03-10  Chang Shu  <chang.shu@nokia.com>
37203
37204        Reviewed by Darin Adler.
37205
37206        While calculating alpha channel, convert the floating point value to
37207        an integer in [0, 256) with equal distribution.
37208        https://bugs.webkit.org/show_bug.cgi?id=22150
37209
37210        * css/CSSParser.cpp:
37211        (WebCore::CSSParser::parseColorParameters):
37212
372132010-03-10  Gavin Barraclough  <barraclough@apple.com>
37214
37215        Reviewed by Darin Adler, Geoffrey Garen, Maciej Stachowiak.
37216
37217        https://bugs.webkit.org/show_bug.cgi?id=35991
37218        Would be faster to not use a thread specific to implement StringImpl::empty()
37219
37220        Copy JavaScriptCore in making 'static' strings threadsafe, make the empty string a static,
37221        shared by all threads.
37222
37223        ~2% progression on Dromaeo DOM core & JS lib tests.
37224
37225        * platform/ThreadGlobalData.cpp:
37226        (WebCore::ThreadGlobalData::ThreadGlobalData):
37227        (WebCore::ThreadGlobalData::~ThreadGlobalData):
37228        * platform/ThreadGlobalData.h:
37229        (WebCore::ThreadGlobalData::eventNames):
37230        * platform/text/StringImpl.cpp:
37231        (WebCore::StringImpl::StringImpl):
37232        (WebCore::StringImpl::empty):
37233        * platform/text/StringImpl.h:
37234        (WebCore::StringImpl::deref):
37235        (WebCore::StringImpl::hasOneRef):
37236
372372010-03-08  Dumitru Daniliuc  <dumi@chromium.org>
37238
37239        Reviewed by Adam Barth.
37240
37241        Adding support for the optional creation callback that could be
37242        passed to openDatabase().
37243
37244        Tests: storage/open-database-creation-callback.html
37245               storage/open-database-creation-callback-isolated-world.html
37246
37247        https://bugs.webkit.org/show_bug.cgi?id=34726
37248
37249        * Android.jscbindings.mk
37250        * Android.v8bindings.mk
37251        * GNUmakefile.am:
37252        * WebCore.gypi:
37253        * WebCore.pro:
37254        * WebCore.vcproj/WebCore.vcproj:
37255        * WebCore.xcodeproj/project.pbxproj:
37256        * bindings/js/JSDOMWindowCustom.cpp:
37257        (WebCore::JSDOMWindow::openDatabase):
37258        * bindings/js/JSDatabaseCallback.cpp: Added.
37259        (WebCore::JSDatabaseCallback::JSDatabaseCallback):
37260        (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
37261        (WebCore::JSDatabaseCallback::handleEvent):
37262        * bindings/js/JSDatabaseCallback.h: Added.
37263        (WebCore::JSDatabaseCallback::create):
37264        * bindings/v8/custom/V8DOMWindowCustom.cpp:
37265        (WebCore::V8DOMWindow::openDatabaseCallback):
37266        * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
37267        (WebCore::V8DatabaseCallback::V8DatabaseCallback):
37268        (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
37269        (WebCore::V8DatabaseCallback::handleEvent):
37270        * bindings/v8/custom/V8DatabaseCallback.h: Added.
37271        (WebCore::V8DatabaseCallback::create):
37272        * page/DOMWindow.cpp:
37273        (WebCore::DOMWindow::openDatabase):
37274        * page/DOMWindow.h:
37275        * page/DOMWindow.idl:
37276        * storage/Database.cpp:
37277        (WebCore::DatabaseCreationCallbackTask::create):
37278        (WebCore::DatabaseCreationCallbackTask::performTask):
37279        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
37280        (WebCore::Database::openDatabase):
37281        (WebCore::Database::Database):
37282        (WebCore::Database::performOpenAndVerify):
37283        (WebCore::Database::performCreationCallback):
37284        * storage/Database.h:
37285        (WebCore::Database::isNew):
37286        * storage/DatabaseCallback.h: Added.
37287        (WebCore::DatabaseCallback::~DatabaseCallback):
37288        * workers/WorkerContext.cpp:
37289        (WebCore::WorkerContext::openDatabase):
37290        * workers/WorkerContext.h:
37291
372922010-03-10  Justin Schuh  <jschuh@chromium.org>
37293
37294        Reviewed by Adam Barth.
37295
37296        Make Chrome consistently handle leading format characters in URLs
37297
37298        https://bugs.webkit.org/show_bug.cgi?id=35948
37299
37300        Test: http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html
37301
37302        * platform/KURLGoogle.cpp:
37303
373042010-03-10  Jian Li  <jianli@chromium.org>
37305
37306        Reviewed by Dmitry Titov.
37307
37308        Implementing DOMFormData class.
37309        https://bugs.webkit.org/show_bug.cgi?id=35707
37310
37311        This patch only addresses the implementation of DOMFormData class and
37312        moves the FormData construction logic from HTMLFormElement::createFormData
37313        to FormData::create() so that it can be used by both HTMLFormElement
37314        and XMLHttpRequest.
37315
37316        The DOMFormData IDL interface will be exposed in another patch and the
37317        test will be added then.
37318
37319        * Android.mk:
37320        * GNUmakefile.am:
37321        * WebCore.gypi:
37322        * WebCore.pro:
37323        * WebCore.vcproj/WebCore.vcproj:
37324        * WebCore.xcodeproj/project.pbxproj:
37325        * html/DOMFormData.cpp: Added.
37326        * html/DOMFormData.h: Added.
37327        * html/FormDataList.h:
37328        (WebCore::FormDataList::encoding):
37329        * html/HTMLFormElement.cpp:
37330        (WebCore::HTMLFormElement::createFormData):
37331        (WebCore::HTMLFormElement::submit):
37332        * html/HTMLFormElement.h:
37333        * platform/network/FormData.cpp:
37334        (WebCore::FormData::create):
37335        (WebCore::FormData::createMultiPart):
37336        (WebCore::FormData::appendDOMFormData):
37337        * platform/network/FormData.h:
37338        (WebCore::FormData::boundary):
37339        * xml/XMLHttpRequest.cpp:
37340        (WebCore::XMLHttpRequest::send):
37341        * xml/XMLHttpRequest.h:
37342
373432010-03-10  Chris Fleizach  <cfleizach@apple.com>
37344
37345        Reviewed by Beth Dakin.
37346
37347        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
37348        https://bugs.webkit.org/show_bug.cgi?id=35986
37349
37350        Elements that are subclassers of AXRenderObject have not been respecting
37351        aria-hidden and other cases that would make them ignored. This applies
37352        to tables, rows, cells, select boxes, sliders, and lists. Select boxes
37353        also need to make sure their option elements respect aria-hidden as well.
37354
37355        Test: accessibility/aria-hidden-with-elements.html
37356
37357        * accessibility/AccessibilityList.cpp:
37358        (WebCore::AccessibilityList::accessibilityIsIgnored):
37359        * accessibility/AccessibilityListBox.cpp:
37360        (WebCore::AccessibilityListBox::addChildren):
37361        (WebCore::AccessibilityListBox::accessibilityIsIgnored):
37362        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
37363        * accessibility/AccessibilityListBox.h:
37364        * accessibility/AccessibilityListBoxOption.cpp:
37365        (WebCore::AccessibilityListBoxOption::accessibilityIsIgnored):
37366        * accessibility/AccessibilityListBoxOption.h:
37367        * accessibility/AccessibilityRenderObject.cpp:
37368        (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredCommon):
37369        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
37370        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
37371        * accessibility/AccessibilityRenderObject.h:
37372        * accessibility/AccessibilitySlider.cpp:
37373        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
37374        * accessibility/AccessibilitySlider.h:
37375        (WebCore::AccessibilitySlider::roleValue):
37376        (WebCore::AccessibilitySliderThumb::roleValue):
37377        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
37378        * accessibility/AccessibilityTable.cpp:
37379        (WebCore::AccessibilityTable::accessibilityIsIgnored):
37380        * accessibility/AccessibilityTableCell.cpp:
37381        (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
37382        * accessibility/AccessibilityTableColumn.cpp:
37383        (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
37384        * accessibility/AccessibilityTableColumn.h:
37385        (WebCore::AccessibilityTableColumn::roleValue):
37386        * accessibility/AccessibilityTableHeaderContainer.cpp:
37387        (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
37388        * accessibility/AccessibilityTableHeaderContainer.h:
37389        * accessibility/AccessibilityTableRow.cpp:
37390        (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
37391
373922010-03-10  Dmitry Titov  <dimich@chromium.org>
37393
37394        Reviewed by Darin Adler.
37395
37396        Make Document::postTask to use a single queue of tasks, to fire them in order
37397        https://bugs.webkit.org/show_bug.cgi?id=35943
37398
37399        Test: existing worker-cloneport.html which was broken by initial patch in http://trac.webkit.org/changeset/55593.
37400        Additional test which indirectly verifies the order of execution will come as part of https://bugs.webkit.org/show_bug.cgi?id=34726
37401
37402        * dom/Document.cpp:
37403        (WebCore::Document::postTask): Always use the same task queue, independent of what thread is posting the task.
37404
374052010-03-10  Sanjeev Radhakrishnan  <sanjeevr@chromium.org>
37406
37407        Reviewed by Darin Fisher.
37408
37409        Allow a plugin to participate in the browser's print workflow.
37410        https://bugs.webkit.org/show_bug.cgi?id=35550
37411
37412        * loader/PluginDocument.cpp:
37413        * loader/PluginDocument.h:
37414
374152010-03-10  Ilya Tikhonovsky  <loislo@loislo-macbookpro.local>
37416
37417        Reviewed by Pavel Feldman.
37418
37419        Sidebar resize element height was adjusted.
37420        Display name for Function Call details was adjusted.
37421
37422        https://bugs.webkit.org/show_bug.cgi?id=35939
37423
37424        * inspector/front-end/TimelinePanel.js:
37425        (WebInspector.TimelinePanel.prototype._refreshRecords):
37426        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
37427
374282010-03-10  Charles Wei  <charles.wei@torchmobile.com.cn>
37429
37430        Reviewed by George Staikos.
37431
37432        Fix https://bugs.webkig.org/show_bug.cgi?id=35207
37433        When XHTMLMP is enabled, all xhtml documents fail to render for webkit portings wich use libxml2 tokenizer.
37434
37435        No new tests as all the xhtml test cases in LayoutTests/dom/xhtml fails without this fix when XHTMLMP is enabled.
37436
37437        * dom/Document.cpp:
37438        (WebCore::Document::isXHTMLMPDocument):
37439        * dom/XMLTokenizerLibxml2.cpp:
37440        (WebCore::XMLTokenizer::internalSubset):
37441        (WebCore::externalSubsetHandler):
37442
374432010-03-10  Garret Kelly  <gdk@chromium.org>
37444
37445        Reviewed by Darin Fisher.
37446
37447        Adding all of the touch-related sources into Chromium's WebCore build.
37448        https://bugs.webkit.org/show_bug.cgi?id=35874
37449
37450        Patch tested against the try bots, but the feature is exercised in the
37451        fast/events/touch tests.
37452
37453        * WebCore.gypi:
37454
374552010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37456
37457        Reviewed by Timothy Hatcher.
37458
37459        Web Inspector: now that audits panel is added, add it to the
37460        enums (for storing last active, etc.).
37461
37462        https://bugs.webkit.org/show_bug.cgi?id=35980
37463
37464        * inspector/InspectorController.cpp:
37465        (WebCore::InspectorController::setWindowVisible):
37466        (WebCore::InspectorController::specialPanelForJSName):
37467        * inspector/InspectorController.h:
37468        (WebCore::InspectorController::):
37469        * inspector/InspectorFrontend.cpp:
37470        (WebCore::InspectorFrontend::showPanel):
37471        * inspector/front-end/inspector.js:
37472        (WebInspector.showAuditsPanel):
37473
374742010-03-10  Nate Chapin  <japhet@chromium.org>
37475
37476        Reviewed by Dimitri Glazkov.
37477
37478        [V8] Instead of describing the type of a wrapped v8 object
37479        with an enum value, use a pointer to struct with more complete
37480        information.
37481
37482        https://bugs.webkit.org/show_bug.cgi?id=35941
37483
37484        Refactoring only, so new tests.
37485
37486        * bindings/scripts/CodeGeneratorV8.pm:
37487        * bindings/v8/DOMData.cpp:
37488        * bindings/v8/DOMData.h:
37489        * bindings/v8/NPV8Object.cpp:
37490        * bindings/v8/V8Collection.h:
37491        * bindings/v8/V8DOMWindowShell.cpp:
37492        * bindings/v8/V8DOMWindowShell.h:
37493        * bindings/v8/V8DOMWrapper.cpp:
37494        * bindings/v8/V8DOMWrapper.h:
37495        * bindings/v8/V8GCController.cpp:
37496        * bindings/v8/V8Helpers.cpp:
37497        * bindings/v8/V8Helpers.h:
37498        * bindings/v8/V8Index.cpp: Removed.
37499        * bindings/v8/V8Index.h:
37500        * bindings/v8/V8NPObject.cpp:
37501        * bindings/v8/V8Proxy.cpp:
37502        * bindings/v8/V8Proxy.h:
37503        * bindings/v8/WorkerContextExecutionProxy.cpp:
37504        * bindings/v8/custom/V8DOMWindowCustom.cpp:
37505        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
37506        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
37507        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
37508        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
37509        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
37510        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
37511        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
37512        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
37513        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
37514        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
37515        * bindings/v8/custom/V8WebGLArrayCustom.h:
37516        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
37517        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
37518        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
37519        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
37520        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
37521        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
37522        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
37523        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
37524        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
37525        * bindings/v8/custom/V8WebSocketCustom.cpp:
37526        * bindings/v8/custom/V8WorkerCustom.cpp:
37527        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
37528        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
37529
375302010-03-10  Antonio Gomes  <tonikitoo@webkit.org>
37531
37532        Reviewed by Dave Hyatt.
37533        Patch by Antonio Gomes <tonikitoo@webkit.org>
37534
37535        Extend keyboard navigation to allow directional navigation (Manual tests)
37536        https://bugs.webkit.org/show_bug.cgi?id=18662
37537
37538        Adds a manual tests for the Spatial Navigation feature comprasing varios
37539        Html focusable elements (e.g. <a>, <table>, <iframe>) and much of the logic
37540        provided by the feature.
37541
37542        * manual-tests/spatial-navigation/links.html: Added.
37543        * manual-tests/spatial-navigation/spatial-navigation-test-cases.html: Added.
37544
375452010-03-10  Leandro Pereira  <leandro@profusion.mobi>
37546
37547        Reviewed by Kenneth Rohde Christiansen.
37548
37549        Add EFL port files to platform/efl.
37550        http://webkit.org/b/35890
37551
37552        * platform/efl/ScrollbarEfl.h: Added.
37553        * platform/efl/ScrollbarThemeEfl.h: Added.
37554
375552010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37556
37557        Reviewed by Timothy Hatcher.
37558
37559        Web Inspector: Audits panel needs an icon.
37560        Landing icon attached by Timothy. Enabling panel!
37561
37562        https://bugs.webkit.org/show_bug.cgi?id=35945
37563
37564        * WebCore.gypi:
37565        * inspector/front-end/Images/auditsIcon.png: Added.
37566        * inspector/front-end/WebKit.qrc:
37567        * inspector/front-end/inspector.css:
37568
375692010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
37570
37571        Roll-out r55657, as Xan noticed a bad degradation in playing
37572        youtube HTML5 videos with it, that is fixed with it
37573        reverted. Looks like we'll need to work a bit more on this.
37574
37575        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37576        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
37577        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
37578        (WebCore::MediaPlayerPrivate::volumeChangedTimerFired):
37579        (WebCore::MediaPlayerPrivate::volumeChanged):
37580        (WebCore::MediaPlayerPrivate::processBufferingStats):
37581        (WebCore::MediaPlayerPrivate::fillTimerFired):
37582        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
37583        (WebCore::MediaPlayerPrivate::updateStates):
37584        (WebCore::MediaPlayerPrivate::muteChangedTimerFired):
37585        (WebCore::MediaPlayerPrivate::muteChanged):
37586        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
37587
375882010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
37589
37590        Rubber-stamped by Xan Lopez.
37591
37592        Fix ready state when buffering under PLAYING. We should not go
37593        back to HaveNothing in that case.
37594
37595        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
37596        (WebCore::MediaPlayerPrivate::updateStates):
37597
375982010-03-10  Ada Chan  <adachan@apple.com>
37599
37600        Reviewed by Adam Roben.
37601
37602        https://bugs.webkit.org/show_bug.cgi?id=35976
37603
37604        Retrieve any dwItemData that's set on the context menu item in contextMenuItemByIdOrPosition().
37605
37606        * platform/win/ContextMenuWin.cpp:
37607
376082010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37609
37610        Reviewed by Darin Fisher.
37611
37612        Add IndexedDatabase class and hook it up.
37613        https://bugs.webkit.org/show_bug.cgi?id=35927
37614
37615        This change is mostly just adding the plumbing necessary for
37616        the IndexedDatabaseRequest and IndexedDatabaseSync (not written
37617        yet).
37618
37619        This code is non-functional, so no tests (yet).
37620
37621        * WebCore.gyp/WebCore.gyp:
37622        * WebCore.gypi:
37623        * platform/chromium/ChromiumBridge.h:
37624        * storage/IndexedDatabase.cpp: Added.
37625        (WebCore::IndexedDatabase::get):
37626        * storage/IndexedDatabase.h: Added.
37627        (WebCore::IndexedDatabase::~IndexedDatabase):
37628        * storage/IndexedDatabaseImpl.cpp: Added.
37629        (WebCore::IndexedDatabaseImpl::get):
37630        (WebCore::IndexedDatabaseImpl::IndexedDatabaseImpl):
37631        (WebCore::IndexedDatabaseImpl::~IndexedDatabaseImpl):
37632        (WebCore::IndexedDatabaseImpl::open):
37633        * storage/IndexedDatabaseImpl.h: Added.
37634        * storage/chromium/IndexedDatabase.cpp: Added.
37635        (WebCore::IndexedDatabase::get):
37636
376372010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
37638
37639        Reviewed by Sam Weinig.
37640
37641        Add one more parent check during node removal.
37642        https://bugs.webkit.org/show_bug.cgi?id=35818
37643
37644        Test: fast/dom/Node/mutation-blur.html
37645
37646        * dom/ContainerNode.cpp:
37647        (WebCore::ContainerNode::removeChild): Added check.
37648
376492010-03-10  Pavel Feldman  <pfeldman@chromium.org>
37650
37651        Not reviewed: added missing quote into localized strings.
37652
37653        * English.lproj/localizedStrings.js:
37654
376552010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37656
37657        Commit files that were supposed to go in with the last checkin.
37658
376592010-03-10  Jeremy Orlow  <jorlow@chromium.org>
37660
37661        Reviewed by Dimitry Glazkov.
37662
37663        Baby steps towards IndexedDB: Start implementing callbacks.
37664        https://bugs.webkit.org/show_bug.cgi?id=35911
37665
37666        This patch adds some infastructure for IndexedDB callbacks in V8.
37667        It also adds a stub of IDBDatabaseRequest.  In the near future,
37668        I'll gut the event based implementation code, flesh out IDBReqest
37669        further, and start plumbing IndexedDatabaseRequest.
37670
37671        Code is not testible because it doesn't work (yet).
37672
37673        * WebCore.gypi:
37674        * bindings/v8/DOMObjectsInclude.h:
37675        * bindings/v8/V8Index.cpp:
37676        * bindings/v8/V8Index.h:
37677        * bindings/v8/custom/V8CustomIDBCallback.h: Added.
37678        (WebCore::V8CustomIDBCallback::create):
37679        (WebCore::V8CustomIDBCallback::~V8CustomIDBCallback):
37680        (WebCore::V8CustomIDBCallback::handleEvent):
37681        (WebCore::V8CustomIDBCallback::V8CustomIDBCallback):
37682        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
37683        (WebCore::V8IndexedDatabaseRequest::openCallback):
37684        * storage/IDBDatabaseRequest.h: Added.
37685        (WebCore::IDBDatabaseRequest::request):
37686        * storage/IDBDatabaseRequest.idl: Added.
37687        * storage/IndexedDatabaseRequest.idl:
37688
376892010-03-10  Holger Hans Peter Freyther  <zecke@selfish.org>
37690
37691        Reviewed by Simon Hausmann.
37692
37693        [Qt] Non animated gifs are animated in QtWebKit
37694        https://bugs.webkit.org/show_bug.cgi?id=35955
37695
37696        Properly map Qt animated and non-animated values to WebCore's
37697        understanding of animated and non-animated images. Currently
37698        we can not map anything to the cAnimationLoopNone value.
37699
37700        * manual-tests/qt/qt-anim.gif: Added.
37701        * manual-tests/qt/qt-gif-test.html: Added.
37702        * manual-tests/qt/qt-noanim.gif: Added.
37703        * platform/graphics/qt/ImageDecoderQt.cpp:
37704        (WebCore::ImageDecoderQt::repetitionCount):
37705
377062010-03-07  Holger Hans Peter Freyther  <zecke@selfish.org>
37707
37708        Reviewed by Darin Adler.
37709
37710        [CAIRO] DoS on iexploder test with high text stroke width.
37711        https://bugs.webkit.org/show_bug.cgi?id=33759
37712
37713        Specifying a big text stroke width can make WebKitGTK+ spend
37714        a very long time in the cairo library for stroking the path of
37715        the text. The best way to prevent this from happening right now
37716        is to not stroke paths with a certain width. Samuel proposed to
37717        not stroke with a width that is twice the width of the text. The
37718        reason to use twice the text width is that even one stroke of
37719        any charachter to be drawn would cover the full width.
37720
37721        Test: fast/text/text-stroke-width-cairo-dos.html
37722
37723        * platform/graphics/cairo/FontCairo.cpp:
37724        (WebCore::Font::drawGlyphs):
37725
377262010-03-10  Andrey Kosyakov  <caseq@chromium.org>
37727
37728        Reviewed by Pavel Feldman.
37729
37730        Web Inspector: display list of active workers & support debugging
37731        with fake workers.
37732        https://bugs.webkit.org/show_bug.cgi?id=35568
37733
37734        * English.lproj/localizedStrings.js:
37735        * WebCore.gypi:
37736        * WebCore.vcproj/WebCore.vcproj:
37737        * bindings/js/JSInjectedScriptHostCustom.cpp:
37738        (WebCore::InjectedScriptHost::createInjectedScript):
37739        (WebCore::InjectedScriptHost::injectedScriptFor):
37740        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
37741        (WebCore::InjectedScriptHost::createInjectedScript):
37742        (WebCore::InjectedScriptHost::injectedScriptFor):
37743        * dom/Document.cpp:
37744        (WebCore::Document::inspectorController):
37745        * dom/Document.h:
37746        * dom/ScriptExecutionContext.h:
37747        (WebCore::ScriptExecutionContext::inspectorController):
37748        * inspector/InjectedScriptHost.cpp:
37749        (WebCore::InjectedScriptHost::InjectedScriptHost):
37750        (WebCore::InjectedScriptHost::injectScript):
37751        (WebCore::InjectedScriptHost::nextWorkerId):
37752        (WebCore::InjectedScriptHost::didCreateWorker):
37753        (WebCore::InjectedScriptHost::willDestroyWorker):
37754        * inspector/InjectedScriptHost.h:
37755        * inspector/InjectedScriptHost.idl:
37756        * inspector/InspectorController.cpp:
37757        (WebCore::InspectorController::populateScriptObjects):
37758        (WebCore::InspectorController::resetScriptObjects):
37759        (WebCore::InspectorController::didCommitLoad):
37760        (WebCore::InspectorController::didCreateWorker):
37761        (WebCore::InspectorController::willDestroyWorker):
37762        * inspector/InspectorController.h:
37763        * inspector/InspectorFrontend.cpp:
37764        (WebCore::InspectorFrontend::didCreateWorker):
37765        (WebCore::InspectorFrontend::willDestroyWorker):
37766        * inspector/InspectorFrontend.h:
37767        * inspector/InspectorWorkerResource.h: Added.
37768        (WebCore::InspectorWorkerResource::create):
37769        (WebCore::InspectorWorkerResource::id):
37770        (WebCore::InspectorWorkerResource::url):
37771        (WebCore::InspectorWorkerResource::isSharedWorker):
37772        (WebCore::InspectorWorkerResource::InspectorWorkerResource):
37773        * inspector/front-end/Checkbox.js: Added.
37774        (WebInspector.Checkbox.callbackWrapper):
37775        (WebInspector.Checkbox):
37776        (WebInspector.Checkbox.prototype.checked):
37777        * inspector/front-end/InjectedFakeWorker.js:
37778        (InjectedFakeWorker.FakeWorker):
37779        (InjectedFakeWorker.FakeWorker.prototype.terminate):
37780        (InjectedFakeWorker.FakeWorker.prototype._handleException):
37781        (InjectedFakeWorker.FakeWorker.prototype._importScripts):
37782        (InjectedFakeWorker.FakeWorker.prototype._loadScript):
37783        (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
37784        * inspector/front-end/ScriptsPanel.js:
37785        (WebInspector.ScriptsPanel):
37786        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
37787        (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
37788        (WebInspector.ScriptsPanel.prototype.reset):
37789        * inspector/front-end/StylesSidebarPane.js:
37790        (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
37791        (WebInspector.StylePropertiesSection):
37792        * inspector/front-end/WebKit.qrc:
37793        * inspector/front-end/WorkersSidebarPane.js: Added.
37794        (WebInspector.WorkersSidebarPane):
37795        (WebInspector.WorkersSidebarPane.prototype.addWorker):
37796        (WebInspector.WorkersSidebarPane.prototype.removeWorker):
37797        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
37798        (WebInspector.WorkersSidebarPane.prototype.reset):
37799        (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
37800        (WebInspector.Worker):
37801        (WebInspector.didCreateWorker):
37802        (WebInspector.willDestroyWorker):
37803        * inspector/front-end/inspector.css:
37804        * inspector/front-end/inspector.html:
37805        * workers/AbstractWorker.cpp:
37806        (WebCore::AbstractWorker::AbstractWorker):
37807        (WebCore::AbstractWorker::~AbstractWorker):
37808        (WebCore::AbstractWorker::onDestroyWorker):
37809        (WebCore::AbstractWorker::contextDestroyed):
37810        * workers/AbstractWorker.h:
37811        (WebCore::AbstractWorker::id):
37812        * workers/SharedWorker.cpp:
37813        (WebCore::SharedWorker::SharedWorker):
37814        * workers/Worker.cpp:
37815        (WebCore::Worker::Worker):
37816
378172010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
37818
37819        Unreviewed build fix. Fix variable name change that somehow didn't
37820        make it into the patch.
37821
378222010-03-10  Roland Steiner  <rolandsteiner@chromium.org>
37823
37824        Reviewed by David Levin.
37825
37826        Bug 28293 -  [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
37827        https://bugs.webkit.org/show_bug.cgi?id=28293
37828        
37829        Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
37830        correctly for event.dataTransfer.getData/setData. Currently both are treated
37831        as synonyms, but for "URL", getData is supposed to only return the first valid URL
37832        contained within the data for "text/uri-list" (see HTML5 spec).
37833
37834        Tests: editing/pasteboard/dataTransfer-setData-getData.html
37835
37836        * platform/chromium/ChromiumDataObject.cpp:
37837        (WebCore::ChromiumDataObject::clear):
37838        (WebCore::ChromiumDataObject::clearAllExceptFiles):
37839        (WebCore::ChromiumDataObject::hasData):
37840        (WebCore::ChromiumDataObject::ChromiumDataObject):
37841        * platform/chromium/ChromiumDataObject.h:
37842        (WebCore::ChromiumDataObject::clearURL):
37843        (WebCore::ChromiumDataObject::hasValidURL):
37844        (WebCore::ChromiumDataObject::getURL):
37845        (WebCore::ChromiumDataObject::setURL):
37846        * platform/chromium/ClipboardChromium.cpp:
37847        (WebCore::):
37848        (WebCore::clipboardTypeFromMIMEType):
37849        (WebCore::ClipboardChromium::clearData):
37850        (WebCore::ClipboardChromium::getData):
37851        (WebCore::ClipboardChromium::setData):
37852        (WebCore::ClipboardChromium::types):
37853        * platform/chromium/DragDataChromium.cpp:
37854        (WebCore::DragData::asURL):
37855        (WebCore::DragData::canSmartReplace):
37856
378572010-03-09  Pavel Feldman  <pfeldman@chromium.org>
37858
37859        Reviewed by Timothy Hatcher.
37860
37861        Web Inspector: REGRESSION: Tall image resources are cropped over the bottom.
37862
37863        https://bugs.webkit.org/show_bug.cgi?id=34720
37864
37865        * inspector/front-end/inspector.css:
37866
378672010-03-09  Pavel Feldman  <pfeldman@chromium.org>
37868
37869        Reviewed by Timothy Hatcher.
37870
37871        Web Inspector: REGRESSION: Pressing up/down arrow key to change numeric
37872        value in CSS property takes focus away.
37873
37874        https://bugs.webkit.org/show_bug.cgi?id=34697
37875
37876        * inspector/front-end/StylesSidebarPane.js:
37877        (WebInspector.StylePropertyTreeElement.prototype):
37878        (WebInspector.StylePropertyTreeElement.prototype.):
37879
378802010-03-09  Tony Chang  <tony@chromium.org>
37881
37882        Reviewed by Adam Barth.
37883
37884        https://bugs.webkit.org/show_bug.cgi?id=21840
37885        https://bugs.webkit.org/show_bug.cgi?id=23993
37886
37887        Fix an editing bug where replacing a selection would result in the
37888        new text ending up inside nodes that were not visibly included in the
37889        selection.  Instead, move our destination position out of nodes that
37890        were not visibly included.
37891
37892        Tests: editing/deleting/backspace-avoid-preceding-style.html
37893               editing/inserting/replace-at-visible-boundary.html
37894
37895        * editing/ReplaceSelectionCommand.cpp:
37896        (WebCore::positionAvoidingPrecedingNodes):
37897        (WebCore::ReplaceSelectionCommand::doApply):
37898
378992010-03-09  Brady Eidson  <beidson@apple.com>
37900
37901        Reviewed by Tim Hatcher.
37902
37903        REGRESSION: WebInspector docking busted on Windows
37904        <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
37905
37906        First off, a bit of settings-key related cleanup. If they're shared over multiple files, these 
37907        things should be properly declared Strings, not random loose char*'s.
37908
37909        Along with that change, we move the "inspectorStartsAttachedSettingName" from WebKit down to the
37910        InspectorController in WebCore.
37911
37912        Finally, when the controller is ready to show the WebInspector window, it can use this newly
37913        exposed settings key to call "setWindowVisible" directly instead of relying on "showWindow" to do
37914        it indirectly.
37915
37916        * WebCore.base.exp:
37917
37918        * inspector/InspectorBackend.cpp:
37919        (WebCore::InspectorBackend::saveFrontendSettings):
37920        * inspector/InspectorController.cpp:
37921        (WebCore::InspectorController::frontendSettingsSettingName):
37922        (WebCore::InspectorController::inspectorStartsAttachedSettingName):
37923        (WebCore::InspectorController::scriptObjectReady): Using the new inspectorStartsAttachedSettingName
37924          key and some "can I attach this?" logic, call setWindowVisible directly to display the inspector
37925          window.
37926        (WebCore::InspectorController::populateScriptObjects):
37927        * inspector/InspectorController.h:
37928
379292010-03-09  Alexey Proskuryakov  <ap@apple.com>
37930
37931        Reviewed by Mark Rowe.
37932
37933        https://bugs.webkit.org/show_bug.cgi?id=35951
37934        <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37935
37936        * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): Fix Tiger code path, too.
37937
379382010-03-09  Alexey Proskuryakov  <ap@apple.com>
37939
37940        Reviewed by Oliver Hunt.
37941
37942        https://bugs.webkit.org/show_bug.cgi?id=35951
37943        <rdar://problem/7327060> Frequent crashes in Dashcode at JSC::Bindings::ObjcInstance::~ObjcInstance + 80
37944
37945        * bridge/objc/objc_instance.mm: (createInstanceWrapperCache): It's not correct to use object
37946        personality for keys, because the key can be a mutable object, so its hash can change over its
37947        lifetime.
37948
379492010-03-09  Ojan Vafai  <ojan@chromium.org>
37950
37951        Reviewed by Darin Adler.
37952
37953        Fix review comment accidentally overlooked in bug 35713
37954        https://bugs.webkit.org/show_bug.cgi?id=35947
37955
37956        * editing/DeleteSelectionCommand.cpp:
37957        (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
37958        * editing/DeleteSelectionCommand.h:
37959
379602010-03-03  Ojan Vafai  <ojan@chromium.org>
37961
37962        Reviewed by Adam Barth.
37963
37964        undo after smartdelete should select the deleted space
37965        https://bugs.webkit.org/show_bug.cgi?id=35713
37966
37967        TextEdit behavior is to select the deleted space after a smartdelete.
37968
37969        Tests: editing/undo/undo-smart-delete-reversed-selection.html
37970               editing/undo/undo-smart-delete-word.html
37971
37972        * editing/DeleteSelectionCommand.cpp:
37973        (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
37974        (WebCore::DeleteSelectionCommand::initializePositionData):
37975        * editing/DeleteSelectionCommand.h:
37976        * editing/VisibleSelection.cpp:
37977        (WebCore::VisibleSelection::setWithoutValidation):
37978        This assert looks bogus to me. undo-smart-delete-reversed-selection.html hits it
37979        but not as a result of the other changes in this patch. The granularity when
37980        deleting after making a wordgranularity selection is wordgranularity, not charactergranularity.
37981
379822010-03-09  Steve Falkenburg  <sfalken@apple.com>
37983
37984        Rubber stamped by Adam Roben.
37985
37986        Load debug version of graphics library in Windows Debug_All builds.
37987
37988        * platform/graphics/win/WKCACFLayerRenderer.cpp:
37989        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
37990
379912010-03-09  Brady Eidson  <beidson@apple.com>
37992
37993        Reviewed by Darin Adler.
37994
37995        Plug-ins don't always respect the cookie accept policy.
37996        <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391
37997
37998        The problem is that the various plug-in implementations call into a ResourceLoader
37999        directly instead of filtering the request through FrameLoader. This bypassed the step
38000        of adding extra fields to the requests, such as the firstPartyForCookies URL.
38001
38002        Since plug-in code is currently so strewn about and very platform specific, I
38003        think reworking it needs to be a task for domain experts. I don't know the implications
38004        of adding *all* the extra fields to plug-in requests, for example.
38005
38006        There's no harm in this targeted fix for the hole in our cookie accept policy until
38007        plug-ins can more fundamentally change.
38008
38009        Test: http/tests/plugins/third-party-cookie-accept-policy.html
38010
38011        * loader/ResourceLoader.cpp:
38012        (WebCore::ResourceLoader::load): Don't load a resource without first giving the request 
38013          a firstPartyForCookies URL.
38014
380152010-03-09  Andy Estes  <aestes@apple.com>
38016
38017        Reviewed by Adele Peterson.
38018
38019        Check for null renderer in scrollNode().
38020        https://bugs.webkit.org/show_bug.cgi?id=34700
38021
38022        Test: fast/events/remove-child-onscroll.html
38023
38024        * page/EventHandler.cpp:
38025        (WebCore::scrollNode): Return early if node->renderer() == 0
38026
380272010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38028
38029        Unreviewed distcheck fix.
38030
38031        * GNUmakefile.am:
38032
380332010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38034
38035        Unreviewed build fix (only exposed by make distcheck). The
38036        SharedWorkers files are not built, they need to be distributed.
38037
38038        * GNUmakefile.am:
38039
380402010-03-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38041
38042        Reviewed by Dirk Schulze.
38043
38044        [GStreamer] Buffering logic is not correct, and does not work very well
38045        https://bugs.webkit.org/show_bug.cgi?id=35706
38046
38047        Fix buffering to match GStreamer expectancies regarding the
38048        pipeline state, so that videos which really need buffering to play
38049        correctly also work, while maintaining the convenience of
38050        on-disk-buffering. This required a bit of shuffling of state
38051        change handling.
38052
38053        No behaviour change expected.
38054
38055        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38056        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
38057        (WebCore::MediaPlayerPrivate::processBufferingStats):
38058        (WebCore::MediaPlayerPrivate::fillTimerFired):
38059        (WebCore::MediaPlayerPrivate::updateStates):
38060        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
38061
380622010-03-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
38063
38064        Reviewed by Dirk Schulze.
38065
38066        [GStreamer] Buffering logic is not correct, and does not work very well
38067        https://bugs.webkit.org/show_bug.cgi?id=35706
38068
38069        Do not call pause(), but set the GStreamer state directly. This is
38070        just a GStreamer implementation detail, and this will avoid having
38071        side effects in case we change the pause implementation in the
38072        future.
38073
38074        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38075        (WebCore::MediaPlayerPrivate::load):
38076
380772010-03-09  Chris Fleizach  <cfleizach@apple.com>
38078
38079        Reviewed by Darin Adler.
38080
38081        AX: hit testing a list box doesn't work anymore
38082        https://bugs.webkit.org/show_bug.cgi?id=35893
38083
38084        Since <option> elements don't have renderers, their hit testing needs
38085        to be handled with a special case.
38086
38087        Test: platform/mac/accessibility/listbox-hit-test.html
38088
38089        * accessibility/AccessibilityRenderObject.cpp:
38090        (WebCore::AccessibilityRenderObject::ariaIsHidden):
38091        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
38092
380932010-03-09  Pavel Feldman  <pfeldman@chromium.org>
38094
38095        Reviewed by Timothy Hatcher.
38096
38097        Web Inspector: Refactor Audits panel presentation layer.
38098        This change removes unnecessary complexity:
38099          - Audit scores were not used
38100          - Audit rule parameters are passed as rule constructor arguments
38101          - View management aligned with the rest of the front-end
38102          - Single TreeOutline is used for category results (no need to create sections for those)
38103          - Rules code beautified and simplified where possible
38104          - Some UI improvements applied (see attached screenshot)
38105
38106        https://bugs.webkit.org/show_bug.cgi?id=35860
38107
38108        * inspector/front-end/AuditCategories.js:
38109        (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
38110        (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
38111        * inspector/front-end/AuditResultView.js:
38112        (WebInspector.AuditResultView):
38113        (WebInspector.AuditCategoryResultPane):
38114        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
38115        * inspector/front-end/AuditRules.js:
38116        (WebInspector.AuditRules.GzipRule.prototype.doRun):
38117        (WebInspector.AuditRules.CombineExternalResourcesRule):
38118        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
38119        (WebInspector.AuditRules.CombineJsResourcesRule):
38120        (WebInspector.AuditRules.CombineCssResourcesRule):
38121        (WebInspector.AuditRules.MinimizeDnsLookupsRule):
38122        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
38123        (WebInspector.AuditRules.ParallelizeDownloadRule):
38124        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
38125        (WebInspector.AuditRules.UnusedCssRule):
38126        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
38127        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
38128        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
38129        (WebInspector.AuditRules.CacheControlRule):
38130        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
38131        (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
38132        (WebInspector.AuditRules.BrowserCacheControlRule):
38133        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
38134        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
38135        (WebInspector.AuditRules.ProxyCacheControlRule):
38136        (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
38137        (WebInspector.AuditRules.ImageDimensionsRule):
38138        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
38139        (WebInspector.AuditRules.CssInHeadRule):
38140        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
38141        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
38142        (WebInspector.AuditRules.StylesScriptsOrderRule):
38143        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
38144        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
38145        (WebInspector.AuditRules.CookieRuleBase):
38146        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
38147        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
38148        (WebInspector.AuditRules.CookieSizeRule):
38149        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
38150        (WebInspector.AuditRules.StaticCookielessRule):
38151        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
38152        * inspector/front-end/AuditsPanel.js:
38153        (WebInspector.AuditsPanel):
38154        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
38155        (WebInspector.AuditsPanel.prototype._executeAudit):
38156        (WebInspector.AuditsPanel.prototype._reloadResources):
38157        (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
38158        (WebInspector.AuditsPanel.prototype.showResults):
38159        (WebInspector.AuditsPanel.prototype.showLauncherView):
38160        (WebInspector.AuditsPanel.prototype.get visibleView):
38161        (WebInspector.AuditsPanel.prototype.set visibleView):
38162        (WebInspector.AuditsPanel.prototype.show):
38163        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
38164        (WebInspector.AuditCategory.prototype.addRule):
38165        (WebInspector.AuditRule):
38166        (WebInspector.AuditRule.prototype.set severity):
38167        (WebInspector.AuditRule.prototype.run):
38168        (WebInspector.AuditRule.prototype.doRun):
38169        (WebInspector.AuditCategoryResult):
38170        (WebInspector.AuditCategoryResult.prototype.addRuleResult):
38171        (WebInspector.AuditRuleResult):
38172        (WebInspector.AuditRuleResult.prototype.addChild):
38173        (WebInspector.AuditRuleResult.prototype.addURL):
38174        (WebInspector.AuditRuleResult.prototype.addURLs):
38175        (WebInspector.AuditRuleResult.prototype.addSnippet):
38176        * inspector/front-end/Settings.js:
38177        * inspector/front-end/audits.css:
38178        * inspector/front-end/inspector.js:
38179        (WebInspector._createPanels):
38180        (WebInspector.documentKeyDown):
38181
381822010-03-09  Yury Semikhatsky  <yurys@chromium.org>
38183
38184        Reviewed by Pavel Feldman.
38185 
38186        When enable resource tracking state changes use the same method as
38187        location.reload for reloading inspected page.
38188
38189        https://bugs.webkit.org/show_bug.cgi?id=35923
38190
38191        * inspector/InspectorBackend.cpp:
38192        (WebCore::InspectorBackend::reloadPage):
38193        * inspector/InspectorController.cpp:
38194        (WebCore::InspectorController::enableResourceTracking):
38195
381962010-03-09  Pavel Feldman  <pfeldman@chromium.org>
38197
38198        Reviewed by Timothy Hatcher.
38199
38200        Web Inspector: highlight text node containers while searching for node.
38201
38202        https://bugs.webkit.org/show_bug.cgi?id=35912
38203
38204        * inspector/InspectorController.cpp:
38205        (WebCore::InspectorController::mouseDidMoveOverElement):
38206
382072010-03-09  Philippe Normand  <pnormand@igalia.com>
38208
38209        Reviewed by Gustavo Noronha Silva.
38210
38211        [GStreamer] player code cleanups
38212        https://bugs.webkit.org/show_bug.cgi?id=35868
38213
38214        Cleaned up the private instance variables of the player.
38215
38216        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38217        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
38218        (WebCore::MediaPlayerPrivate::fillTimerFired):
38219        (WebCore::MediaPlayerPrivate::mediaLocationChanged):
38220        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
38221
382222010-03-09  Philippe Normand  <pnormand@igalia.com>
38223
38224        Reviewed by Gustavo Noronha Silva.
38225
38226        [GStreamer] player code cleanups
38227        https://bugs.webkit.org/show_bug.cgi?id=35868
38228
38229        Splitted GOwnPtrGtk.{cpp,h} to GOwnPtr{Soup,GStreamer}.{cpp,h}.
38230
38231        * GNUmakefile.am:
38232        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Added.
38233        (WTF::GstElement):
38234        * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Added.
38235        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
38236        * platform/gtk/GOwnPtrGtk.cpp: Removed.
38237        * platform/gtk/GOwnPtrGtk.h: Removed.
38238        * platform/network/soup/CookieJarSoup.cpp:
38239        * platform/network/soup/DNSSoup.cpp:
38240        * platform/network/soup/GOwnPtrSoup.cpp: Added.
38241        (WTF::SoupURI):
38242        * platform/network/soup/GOwnPtrSoup.h: Added.
38243        * platform/network/soup/ResourceHandleSoup.cpp:
38244        * platform/network/soup/ResourceRequestSoup.cpp:
38245
382462010-03-09  Shinichiro Hamaji  <hamaji@chromium.org>
38247
38248        Reviewed by Eric Seidel.
38249
38250        [Chromium] Should remove paddings of Win/Linux chromium's buttons
38251        https://bugs.webkit.org/show_bug.cgi?id=35629
38252
38253        No new tests, but we may need to rebaseline bunch of expectation
38254        images in chromium's tree.
38255
38256        * rendering/RenderThemeChromiumSkia.cpp:
38257        * rendering/RenderThemeChromiumSkia.h:
38258
382592010-03-08  Kent Tamura  <tkent@chromium.org>
38260
38261        Reviewed by Adam Barth.
38262
38263        Implement HTML5 <hgroup> element.
38264        https://bugs.webkit.org/show_bug.cgi?id=33369
38265
38266        <hgroup> should behave the same as <nav>, <section>, <article>, and <aside>.
38267        <hgroup> has no specific parsing rules.
38268
38269        Test: fast/html/hgroup-element.html
38270
38271        * css/html.css: Add hgroup as a block element.
38272        * editing/htmlediting.cpp:
38273        (WebCore::validBlockTag): Add hgroupTag.
38274        * html/HTMLElement.cpp:
38275        (WebCore::createTagPriorityMap): Returns 5 for hgroupTag.
38276        (WebCore::blockTagList): Add hgroupTag.
38277        * html/HTMLParser.cpp:
38278        (WebCore::HTMLParser::getNode): Add hgroupTag.
38279        * html/HTMLTagNames.in: Add hgroup.
38280
382812010-03-08  Tony Chang  <tony@chromium.org>
38282
38283        Reviewed by Adam Barth.
38284
38285        https://bugs.webkit.org/show_bug.cgi?id=32131
38286        Crash when inserting an ordered list.
38287
38288        Test: editing/execCommand/insert-ordered-list.html
38289
38290        * editing/CompositeEditCommand.cpp:
38291        (WebCore::CompositeEditCommand::moveParagraphs):
38292        * editing/TextIterator.cpp:
38293        (WebCore::TextIterator::rangeFromLocationAndLength):
38294
382952010-03-08  Darin Adler  <darin@apple.com>
38296
38297        Reviewed by Dan Bernstein.
38298
38299        Added a test for crash when you quit inside an unload handler.
38300        rdar://problem/6958347
38301
38302        * manual-tests/quit-inside-unload.html: Added.
38303
383042010-03-08  Darin Adler  <darin@apple.com>
38305
38306        Reviewed by Jon Honeycutt.
38307
38308        Don't auto-play <audio> and <video> elements loaded in background tabs
38309        https://bugs.webkit.org/show_bug.cgi?id=35886
38310        rdar://problem/7117745
38311
38312        * manual-tests/video-in-non-frontmost-tab.html: Added.
38313        * manual-tests/resources/video-tab.html: Added.
38314
38315        * html/HTMLMediaElement.h: Added MediaCanStartListener as a base class, and
38316        added the mediaCanStart function as well as a boolean,
38317        m_isWaitingUntilMediaCanStart.
38318
38319        * html/HTMLMediaElement.cpp:
38320        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize
38321        m_isWaitingUntilMediaCanStart.
38322        (WebCore::HTMLMediaElement::~HTMLMediaElement): Call
38323        removeMediaCanStartListener if m_isWaitingUntilMediaCanStart is true. 
38324        (WebCore::HTMLMediaElement::loadInternal): Set m_isWaitingUntilMediaCanStart
38325        and call addMediaCanStartListener if canStartMedia is false.
38326        (WebCore::HTMLMediaElement::mediaCanStart): Clear m_isWaitingUntilMediaCanStart
38327        and call loadInternal.
38328
383292010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38330
38331        [GTK] Unreviewed buildfix after r55688.
38332
38333        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
38334        (webKitWebSrcStart):
38335
383362010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38337
38338        [GTK] Unreviewed buildfix after r55688.
38339
38340        * platform/network/soup/ResourceHandleSoup.cpp:
38341        (WebCore::):
38342
383432010-03-08  Csaba Osztrogonác  <ossy@webkit.org>
38344
38345        [Qt] Unreviewed buildfix after r55688.
38346
38347        * platform/network/qt/ResourceHandleQt.cpp:
38348        (WebCore::ResourceHandle::loadResourceSynchronously):
38349
383502010-03-08  Alexey Proskuryakov  <ap@apple.com>
38351
38352        Reviewed by Darin Adler.
38353
38354        https://bugs.webkit.org/show_bug.cgi?id=35879
38355        Eliminate m_mightDownloadFromHandle
38356
38357        It was only used on Mac, and unnecessarily complicated the code.
38358
38359        No change in behavior, thus no test.
38360
38361        * loader/MainResourceLoader.cpp:
38362        (WebCore::MainResourceLoader::loadNow):
38363        * loader/ResourceLoader.cpp:
38364        (WebCore::ResourceLoader::load):
38365        * loader/appcache/ApplicationCacheGroup.cpp:
38366        (WebCore::ApplicationCacheGroup::createResourceHandle):
38367        * platform/network/ResourceHandle.cpp:
38368        (WebCore::ResourceHandle::ResourceHandle):
38369        (WebCore::ResourceHandle::create):
38370        * platform/network/ResourceHandle.h:
38371        * platform/network/ResourceHandleInternal.h:
38372        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
38373        * platform/network/mac/ResourceHandleMac.mm:
38374        (WebCore::ResourceHandle::start):
38375
383762010-03-02  Peter Kasting  <pkasting@google.com>
38377
38378        Reviewed by Adam Barth.
38379
38380        Clean up usage of m_failed in open-source image decoders, part 1.
38381        https://bugs.webkit.org/show_bug.cgi?id=35411
38382        
38383        Makes setFailed() virtual so subclasses can override it (none do yet) to
38384        do automatic cleanup on failure; makes it return a bool for easy
38385        tailcalling; makes failed() the only way to access m_failed so
38386        subclasses are assured setFailed() won't be bypassed.  Plus one or two
38387        other tiny cleanup bits.
38388
38389        Overriding setFailed() is coming in a subsequent patch because it can be
38390        hairy and needs close review.
38391
38392        No functional change, so no tests.
38393
38394        * platform/graphics/qt/ImageDecoderQt.cpp:
38395        (WebCore::ImageDecoderQt::setData):
38396        (WebCore::ImageDecoderQt::frameBufferAtIndex):
38397        (WebCore::ImageDecoderQt::internalDecodeSize):
38398        (WebCore::ImageDecoderQt::internalReadImage):
38399        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
38400        (WebCore::ImageDecoderQt::forceLoadEverything):
38401        (WebCore::ImageDecoderQt::clearPointers):
38402        * platform/graphics/qt/ImageDecoderQt.h:
38403        * platform/image-decoders/ImageDecoder.h:
38404        (WebCore::ImageDecoder::ImageDecoder):
38405        (WebCore::ImageDecoder::setData):
38406        (WebCore::ImageDecoder::setSize):
38407        (WebCore::ImageDecoder::setFailed):
38408        (WebCore::ImageDecoder::failed):
38409        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
38410        (WebCore::BMPImageDecoder::isSizeAvailable):
38411        (WebCore::BMPImageDecoder::frameBufferAtIndex):
38412        (WebCore::BMPImageDecoder::processFileHeader):
38413        * platform/image-decoders/gif/GIFImageDecoder.cpp:
38414        (WebCore::GIFImageDecoder::setData):
38415        (WebCore::GIFImageDecoder::isSizeAvailable):
38416        (WebCore::GIFImageDecoder::frameBufferAtIndex):
38417        (WebCore::GIFImageDecoder::decode):
38418        (WebCore::GIFImageDecoder::initFrameBuffer):
38419        * platform/image-decoders/ico/ICOImageDecoder.cpp:
38420        (WebCore::ICOImageDecoder::decodeAtIndex):
38421        (WebCore::ICOImageDecoder::processDirectory):
38422        (WebCore::ICOImageDecoder::processDirectoryEntries):
38423        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
38424        (WebCore::JPEGImageReader::decode):
38425        (WebCore::JPEGImageDecoder::setData):
38426        (WebCore::JPEGImageDecoder::isSizeAvailable):
38427        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
38428        (WebCore::JPEGImageDecoder::outputScanlines):
38429        (WebCore::JPEGImageDecoder::decode):
38430        * platform/image-decoders/png/PNGImageDecoder.cpp:
38431        (WebCore::decodingFailed):
38432        (WebCore::PNGImageReader::decode):
38433        (WebCore::PNGImageDecoder::setData):
38434        (WebCore::PNGImageDecoder::isSizeAvailable):
38435        (WebCore::PNGImageDecoder::frameBufferAtIndex):
38436        (WebCore::PNGImageDecoder::headerAvailable):
38437        (WebCore::PNGImageDecoder::rowAvailable):
38438        (WebCore::PNGImageDecoder::decode):
38439        * platform/image-decoders/png/PNGImageDecoder.h:
38440
384412010-03-08  Chris Marrin  <cmarrin@apple.com>
38442
38443        Reviewed by Darin Adler.
38444
38445        Disallow WebGL when HW comp is not turned on at runtime
38446        https://bugs.webkit.org/show_bug.cgi?id=35759
38447
38448        When HW comp is turned off with the runtime flag, WebGL would still
38449        create a context, but silently fail to render. This prevents that.
38450        Now if HW comp is turned off getContext('webgl') will return null.
38451
38452        * html/HTMLCanvasElement.cpp:
38453        (WebCore::HTMLCanvasElement::getContext):
38454
384552010-03-08  Darin Adler  <darin@apple.com>
38456
38457        Reviewed by Jon Honeycutt.
38458
38459        https://bugs.webkit.org/show_bug.cgi?id=35876
38460
38461        Fix minor style issues in HTMLMediaElement and classes derived from it.
38462        Made many public members private and protected.
38463
38464        * html/HTMLMediaElement.cpp:
38465        (WebCore::HTMLMediaElement::screenRect): Got rid of a stray "const" and
38466        retstructured the function to use early return and get rid of a local.
38467
38468        * html/HTMLMediaElement.h: Made lots of members private and some
38469        protected. Also use private inheritance instead of public. Removed
38470        some unneeded includes.
38471
38472        * html/HTMLVideoElement.cpp:
38473        (WebCore::HTMLVideoElement::parseMappedAttribute): Use player() instead
38474        of m_player; HTMLMediaElement data members are now private, not protected.
38475        (WebCore::HTMLVideoElement::supportsFullscreen): Ditto.
38476        (WebCore::HTMLVideoElement::videoWidth): Ditto.
38477        (WebCore::HTMLVideoElement::videoHeight): Ditto.
38478        (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Ditto.
38479        (WebCore::HTMLVideoElement::webkitEnterFullScreen): Use isFullscreen()
38480        instead of m_isFullscreen; same reason.
38481        (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
38482        (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
38483
38484        * html/HTMLVideoElement.h: Removed an unneeded include. Made many
38485        public functions private. Got rid of unused paint function, which was
38486        replaced with paintCurrentFrameInContext a while back.
38487
384882010-03-08  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38489
38490        Reviewed by Xan Lopez.
38491
38492        https://bugs.webkit.org/show_bug.cgi?id=30895
38493        [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
38494
38495        Gives platforms the ability to exclude parts of an AccessibilityTable
38496        from the accessible hierarchy.
38497
38498        * accessibility/gtk/AccessibilityObjectAtk.cpp:
38499        (AccessibilityObject::accessibilityPlatformIncludesObject):
38500        * accessibility/AccessibilityRenderObject.cpp:
38501        (AccessibilityRenderObject::determineAccessibilityRole):
38502        * accessibility/AccessibilityTable.cpp:
38503        (AccessibilityTable::addChildren):
38504        * accessibility/AccessibilityTableColumn.h:
38505        (accessibilityIsIgnored):
38506        * accessibility/AccessibilityTableHeaderContainer.h:
38507        (accessibilityIsIgnored):
38508        * accessibility/AccessibilityTableRow.cpp:
38509        (accessibilityIsIgnored):
38510
385112010-03-08  Jian Li  <jianli@chromium.org>
38512
38513        No review. Fix build break on Tiger intel release.
38514
38515        * html/Blob.cpp:
38516        * html/Blob.h:
38517
385182010-03-02  Adam Treat  <atreat@rim.com>
38519
38520        Reviewed by Dave Hyatt.
38521
38522        Refactor the HostWindow methods for repaint, scroll, invalidate and blit
38523        of backingstore and window by eliminating the three bools that currently
38524        exist as params of the repaint method.
38525        https://bugs.webkit.org/show_bug.cgi?id=34214
38526
38527        I've added extra methods to provide the hosts with more semantic
38528        information of what is being requested thus eliminating the need for
38529        these bools.
38530
38531        No tests as this change should not introduce any behavior changes in any
38532        of the ports.
38533
38534        https://bugs.webkit.org/show_bug.cgi?id=34214
38535
38536        * loader/EmptyClients.h:
38537        (WebCore::EmptyChromeClient::invalidateContents):
38538        (WebCore::EmptyChromeClient::invalidateWindow):
38539        (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
38540        (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
38541        * page/Chrome.cpp:
38542        (WebCore::Chrome::invalidateContents):
38543        (WebCore::Chrome::invalidateWindow):
38544        (WebCore::Chrome::invalidateContentsAndWindow):
38545        (WebCore::Chrome::invalidateContentsForSlowScroll):
38546        * page/Chrome.h:
38547        * page/ChromeClient.h:
38548        * page/FrameView.cpp:
38549        (WebCore::FrameView::invalidateRect):
38550        * platform/HostWindow.h:
38551        * platform/ScrollView.cpp:
38552        (WebCore::ScrollView::scrollContents):
38553        (WebCore::ScrollView::wheelEvent):
38554
385552010-03-08  Adam Barth  <abarth@webkit.org>
38556
38557        Reviewed by Nate Chapin.
38558
38559        [V8] Block popups from inline script
38560        https://bugs.webkit.org/show_bug.cgi?id=35474
38561
38562        Apparently, we're supposed to look at the sourceURL to figure out
38563        whether we're running a script tag or a hyperlink.  This logic is
38564        copied from the JSC version.
38565
38566        Test: http/tests/security/popup-blocked-from-window-open.html
38567
38568        * bindings/v8/ScriptController.cpp:
38569        (WebCore::ScriptController::processingUserGesture):
38570        (WebCore::ScriptController::evaluate):
38571
385722010-03-08  Stuart Morgan  <stuartmorgan@chromium.org>
38573
38574        Reviewed by Darin Adler.
38575
38576        Move the details of secure text mode into WebCore/platform.
38577        Move the higher-level logic for secure text mode from Frame
38578        to SelectionController.
38579
38580        https://bugs.webkit.org/show_bug.cgi?id=31265
38581
38582        No new tests: no functional changes.
38583
38584        * WebCore.gypi:
38585        * WebCore.xcodeproj/project.pbxproj:
38586        * dom/Document.cpp:
38587        (WebCore::Document::setUseSecureKeyboardEntryWhenActive):
38588        * editing/SelectionController.cpp:
38589        (WebCore::SelectionController::focusedOrActiveStateChanged):
38590        (WebCore::SelectionController::updateSecureKeyboardEntryIfActive):
38591        (WebCore::SelectionController::setUseSecureKeyboardEntry):
38592        * editing/SelectionController.h:
38593        * page/Frame.cpp:
38594        (WebCore::Frame::setDocument):
38595        * page/Frame.h:
38596        * platform/SecureTextInput.cpp: Added.
38597        (WebCore::enableSecureTextInput):
38598        (WebCore::disableSecureTextInput):
38599        * platform/SecureTextInput.h: Added.
38600        (WebCore::enableSecureTextInput):
38601        (WebCore::disableSecureTextInput):
38602
386032010-03-08  Brady Eidson  <beidson@apple.com>
38604
38605        Reviewed by Anders Carlsson.
38606
38607        Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
38608        <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824
38609
38610        Test: http/tests/cookies/third-party-cookie-relaxing.html
38611
38612        If the 3rd-party domain in question already has a cookie set, allow changes
38613        by setting the first party url of the request to be the url of the request itself:        
38614        * platform/network/cf/ResourceHandleCFNet.cpp:
38615        (WebCore::makeFinalRequest):
38616
38617        Ditto:
38618        * platform/network/mac/ResourceHandleMac.mm:
38619        (WebCore::ResourceHandle::start):
38620        (WebCore::ResourceHandle::loadResourceSynchronously):
38621
38622        I've filed <rdar://problem/7728508> to track changing the policy in our networking layer.
38623
386242010-03-08  Jian Li  <jianli@chromium.org>
38625
38626        Reviewed by Dmitry Titov.
38627
38628        Blob.slice support.
38629        https://bugs.webkit.org/show_bug.cgi?id=32993
38630        
38631        The following semantic is adopted per the discussions on public-webapps:
38632        1) File.slice() does a synchronous IO to capture the current size and
38633           modification time and cache them in the resulting Blob.
38634        2) Subsequent Blob operations, like Blob.slice and Blob.size simply
38635           use the cached values.
38636        3) When the underlying file data are accessed, like in XHR.send(), the
38637           UA will check the cached modification time against the current
38638           modification time to determine if the file has been changed or not.
38639           An error or exception will be thrown if needed.
38640
38641        Also add ENABLE_BLOB_SLICE feature define.
38642
38643        Test: http/tests/local/send-sliced-dragged-file.html
38644
38645        * Configurations/FeatureDefines.xcconfig:
38646        * GNUmakefile.am:
38647        * WebCore.pri:
38648        * html/Blob.cpp:
38649        (WebCore::Blob::Blob):
38650        (WebCore::Blob::size):
38651        (WebCore::Blob::slice):
38652        * html/Blob.h:
38653        (WebCore::Blob::start):
38654        (WebCore::Blob::length):
38655        (WebCore::Blob::modificationTime):
38656        * html/Blob.idl:
38657        * platform/network/FormData.cpp:
38658        (WebCore::FormData::deepCopy):
38659        (WebCore::FormData::appendFile):
38660        (WebCore::FormData::appendFileRange):
38661        * platform/network/FormData.h:
38662        (WebCore::FormDataElement::FormDataElement):
38663        (WebCore::operator==):
38664        * platform/network/mac/FormDataStreamMac.mm:
38665        (WebCore::advanceCurrentStream):
38666        (WebCore::openNextStream):
38667        (WebCore::formCreate):
38668        (WebCore::formOpen):
38669        (WebCore::formRead):
38670        (WebCore::setHTTPBody):
38671        * xml/XMLHttpRequest.cpp:
38672        (WebCore::XMLHttpRequest::send):
38673
386742010-03-08  Daniel Bates  <dbates@rim.com>
38675
38676        Reviewed by Simon Fraser.
38677
38678        https://bugs.webkit.org/show_bug.cgi?id=34819
38679
38680        Fixes an issue where we repaint the caret rectangle even if the associated
38681        selection is not in a content editable element. This is extraneous since the
38682        caret is only visible when the selection is in a content editable element.
38683        Hence, we should only repaint the caret rectangle when the associated selection
38684        is in a content editable element.
38685
38686        Note, we always paint the caret when caret browsing is enabled.
38687
38688        Test: fast/repaint/no-caret-repaint-in-non-content-editable-element.html
38689
38690        * editing/SelectionController.cpp:
38691        (WebCore::SelectionController::recomputeCaretRect): Modified to call method
38692        SelectionController::shouldRepaintCaret.
38693        (WebCore::SelectionController::shouldRepaintCaret): Added.
38694        (WebCore::SelectionController::invalidateCaretRect): Modified to call method
38695        SelectionController::shouldRepaintCaret.
38696        * editing/SelectionController.h:
38697
386982010-03-08  Eric Carlson  <eric.carlson@apple.com>
38699
38700        Reviewed by Darin Adler.
38701
38702        YouTube HTML5 video never starts playing on Windows
38703        https://bugs.webkit.org/show_bug.cgi?id=33954
38704
38705        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
38706        (WebCore::MediaPlayerPrivate::rfc2616DateStringFromTime): New, create an rfc 2616 formatted
38707        string for an absolute time value.
38708        (WebCore::addCookieParam): New, add a cookie param and value to a string builder.
38709        (WebCore::MediaPlayerPrivate::setUpCookiesForQuickTime): Copy cookies for the movie to
38710            be loaded from CFNetwork into WinINet so they are available when QuickTime tries to
38711            download the movie.
38712        (WebCore::MediaPlayerPrivate::load): Call setupCookiesForQuickTime.
38713        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
38714
387152010-03-08  Eric Uhrhane  <ericu@chromium.org>
38716
38717        Reviewed by David Levin.
38718
38719        Remove the now-redundant Settings fields for the Database
38720        https://bugs.webkit.org/show_bug.cgi?id=35763
38721
38722        No new tests; this code isn't called.
38723
38724        * WebCore.base.exp:
38725        * page/Settings.cpp:
38726        (WebCore::Settings::Settings):
38727        * page/Settings.h:
38728
387292010-03-07  David Levin  <levin@chromium.org>
38730
38731        Chromium Linux build fix.
38732
38733        * platform/graphics/chromium/FontPlatformDataLinux.h: Add "class String" since a debug
38734        only method returns a String.
38735
387362010-03-07  Mark Rowe  <mrowe@apple.com>
38737
38738        Chromium build fix.
38739
38740        * platform/chromium/ClipboardChromium.cpp: Include Image.h since we're using WebCore::Image.
38741
387422010-03-07  Mark Rowe  <mrowe@apple.com>
38743
38744        Gtk build fix.
38745
38746        * platform/network/soup/ResourceHandleSoup.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38747
387482010-03-07  Mark Rowe  <mrowe@apple.com>
38749
38750        Gtk build fix.
38751
38752        * platform/graphics/gtk/ImageGtk.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38753
387542010-03-07  Mark Rowe  <mrowe@apple.com>
38755
38756        Fix builds where USE_CG_SHADING is set.
38757
38758        * platform/graphics/cg/GradientCG.cpp: Include wtf/RetainPtr.h since WTF::RetainPtr is used when USE_CG_SHADING is set.
38759
387602010-03-07  Mark Rowe  <mrowe@apple.com>
38761
38762        Windows build fix.  Add some required includes.
38763
38764        * platform/graphics/win/ImageCGWin.cpp:
38765        * platform/network/cf/ResourceHandleCFNet.cpp:
38766        * platform/win/ClipboardWin.cpp:
38767
387682010-03-07  Mark Rowe  <mrowe@apple.com>
38769
38770        Gtk build fix.
38771
38772        * platform/graphics/GraphicsContext.h: Include wtf/PassOwnPtr.h since some platforms use WTF::PassOwnPtr in this header.
38773
387742010-03-07  Mark Rowe  <mrowe@apple.com>
38775
38776        Qt build fix.
38777
38778        * platform/network/qt/ResourceHandleQt.cpp: Include SharedBuffer.h since we're using WebCore::SharedBuffer.
38779
387802010-03-07  Mark Rowe  <mrowe@apple.com>
38781
38782        Gtk build fix.
38783
38784        * platform/gtk/ClipboardGtk.cpp: Include Image.h since we're using WebCore::Image.
38785
387862010-03-07  Mark Rowe  <mrowe@apple.com>
38787
38788        Rubber-stamped by Cameron Zwarich.
38789
38790        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38791
38792        * loader/CachedCSSStyleSheet.cpp:
38793        * loader/CachedFont.cpp:
38794        * loader/CachedImage.cpp:
38795        * loader/CachedResource.cpp:
38796        * loader/CachedResource.h:
38797        * loader/CachedScript.cpp:
38798        * loader/CachedXSLStyleSheet.cpp:
38799        * loader/icon/IconFetcher.cpp:
38800        * loader/loader.cpp:
38801        * page/Page.cpp:
38802        * platform/graphics/Image.cpp:
38803        * platform/graphics/Image.h:
38804        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
38805        * platform/graphics/cg/PDFDocumentImage.cpp:
38806        * platform/graphics/cg/PathCG.cpp:
38807        * platform/graphics/mac/ImageMac.mm:
38808
388092010-03-07  Mark Rowe  <mrowe@apple.com>
38810
38811        Chromium build fix.
38812
38813        * platform/chromium/ChromiumDataObject.h: Include SharedBuffer.h since the inline constructor of this
38814        class means that the pointed-to type of the RefPtr member must be available.
38815
388162010-03-07  Mark Rowe  <mrowe@apple.com>
38817
38818        Qt build fix.
38819
38820        * platform/network/qt/DnsPrefetchHelper.cpp: Include PlatformString.h since we're using WebCore::String.
38821
388222010-03-07  Kent Tamura  <tkent@chromium.org>
38823
38824        Reviewed by Eric Seidel.
38825
38826        Fix a bug that validity.valueMissing for a radio button with required
38827        in a form element always returns true.
38828        https://bugs.webkit.org/show_bug.cgi?id=35472
38829
38830        Test: fast/forms/ValidityState-valueMissing-radio.html
38831
38832        * html/HTMLInputElement.cpp:
38833        (WebCore::checkedRadioButtons): Move the location to be used by valueMissing().
38834        (WebCore::HTMLInputElement::valueMissing):
38835          Use checkedRadioButtons() instead of document()->checkedRadioButtons().
38836
388372010-03-07  Mark Rowe  <mrowe@apple.com>
38838
38839        Rubber-stamped by Cameron Zwarich.
38840
38841        Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
38842
38843        * bindings/objc/DOM.mm:
38844        * loader/CachedImage.h:
38845        * loader/EmptyClients.h:
38846        * platform/graphics/GlyphPageTreeNode.cpp:
38847        * platform/text/CString.h:
38848        * platform/text/String.cpp:
38849        * platform/text/mac/TextCodecMac.cpp:
38850        * svg/graphics/SVGResourceFilter.h:
38851        * svg/graphics/filters/SVGFEImage.h:
38852
388532010-03-07  Mark Rowe  <mrowe@apple.com>
38854
38855        Completely remove two files that were deleted in r55635 from the Xcode project.
38856
38857        * WebCore.xcodeproj/project.pbxproj:
38858
388592010-03-07  Sam Weinig  <sam@webkit.org>
38860
38861        Reviewed by Dan Bernstein.
38862
38863        Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
38864        https://bugs.webkit.org/show_bug.cgi?id=35848
38865
38866        - Take the opportunity to fully autogenerate window.atob() and window.btoa().
38867
38868        * bindings/js/JSDOMWindowCustom.cpp:
38869        * page/DOMWindow.cpp:
38870        (WebCore::DOMWindow::btoa):
38871        (WebCore::DOMWindow::atob):
38872        * page/DOMWindow.idl:
38873
388742010-03-07  Dan Bernstein  <mitz@apple.com>
38875
38876        Reviewed by Simon Fraser.
38877
38878        <rdar://problem/7722008> Column breaking ignores floats
38879        https://bugs.webkit.org/show_bug.cgi?id=35837
38880
38881        Test: fast/multicol/float-truncation.html
38882
38883        Introduce an earlier column-break if otherwise a float that could fit
38884        inside a single column will be split between columns.
38885
38886        It is still possible for floats to be needlessly broken if initially
38887        they fit in the column, but normal flow truncation then shortens the
38888        column.
38889
38890        * rendering/RenderBlock.cpp:
38891        (WebCore::RenderBlock::visibleTopOfHighestFloatExtendingBelow): Added.
38892        Returns the visible top of the highest descendant float that visibly
38893        extends below the given y offset, ignoring floats that are taller than
38894        the given maximum height.
38895        (WebCore::RenderBlock::layoutColumns): If the initial column height
38896        would cause a float to be split, truncate above the float.
38897        * rendering/RenderBlock.h:
38898
388992010-03-07  Dmitry Titov  <dimich@chromium.org>
38900
38901        Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.
38902
38903        REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
38904        https://bugs.webkit.org/show_bug.cgi?id=35819
38905
38906        * Android.jscbindings.mk:
38907        * Android.v8bindings.mk:
38908        * GNUmakefile.am:
38909        * WebCore.gypi:
38910        * WebCore.pro:
38911        * WebCore.vcproj/WebCore.vcproj:
38912        * WebCore.xcodeproj/project.pbxproj:
38913        * bindings/js/JSDOMWindowCustom.cpp:
38914        * bindings/js/JSDatabaseCallback.cpp: Removed.
38915        * bindings/js/JSDatabaseCallback.h: Removed.
38916        * bindings/v8/custom/V8DOMWindowCustom.cpp:
38917        * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
38918        * bindings/v8/custom/V8DatabaseCallback.h: Removed.
38919        * dom/Document.cpp:
38920        (WebCore::Document::postTask):
38921        * page/DOMWindow.cpp:
38922        (WebCore::DOMWindow::openDatabase):
38923        * page/DOMWindow.h:
38924        * page/DOMWindow.idl:
38925        * storage/Database.cpp:
38926        (WebCore::Database::openDatabase):
38927        (WebCore::Database::Database):
38928        (WebCore::Database::performOpenAndVerify):
38929        * storage/Database.h:
38930        * storage/DatabaseCallback.h: Removed.
38931        * workers/WorkerContext.cpp:
38932        (WebCore::WorkerContext::openDatabase):
38933        * workers/WorkerContext.h:
38934
389352010-03-06  Mark Rowe  <mrowe@apple.com>
38936
38937        Rubber-stamped by Sam Weinig.
38938
38939        Remove unnecessary includes of wtf/Platform.h.  This is already pulled in by config.h.
38940
38941        * accessibility/AccessibilityObject.h:
38942        * dom/XMLTokenizer.cpp:
38943        * dom/XMLTokenizerLibxml2.cpp:
38944        * dom/XMLTokenizerQt.cpp:
38945        * editing/TextAffinity.h:
38946        * loader/FrameLoaderClient.h:
38947        * page/FocusController.cpp:
38948        * page/FrameTree.cpp:
38949        * page/Geolocation.h:
38950        * page/PositionCallback.h:
38951        * page/PositionErrorCallback.h:
38952        * platform/Cursor.h:
38953        * platform/FileSystem.h:
38954        * platform/FloatConversion.h:
38955        * platform/KeyboardCodes.h:
38956        * platform/PlatformKeyboardEvent.h:
38957        * platform/PlatformTouchPoint.h:
38958        * platform/SuddenTermination.h:
38959        * platform/Widget.h:
38960        * platform/graphics/Color.h:
38961        * platform/graphics/FloatPoint.h:
38962        * platform/graphics/FloatSize.h:
38963        * platform/graphics/GraphicsContext.h:
38964        * platform/graphics/IntPoint.h:
38965        * platform/graphics/IntRect.h:
38966        * platform/graphics/IntSize.h:
38967        * platform/graphics/openvg/PainterOpenVG.h:
38968        * platform/graphics/openvg/SurfaceOpenVG.h:
38969        * platform/network/ResourceHandleClient.h:
38970        * platform/text/Base64.cpp:
38971        * rendering/style/SVGRenderStyle.h:
38972        * xml/XSLTProcessor.cpp:
38973        * xml/XSLTProcessorLibxslt.cpp:
38974        * xml/XSLTProcessorQt.cpp:
38975
389762010-03-06  Sam Weinig  <sam@webkit.org>
38977
38978        Reviewed by Dan Bernstein.
38979
38980        Move debug only JS wrapper-set tracking code into its own file.
38981        https://bugs.webkit.org/show_bug.cgi?id=35839
38982
38983        * GNUmakefile.am: Added new files.
38984        * WebCore.gypi: Ditto.
38985        * WebCore.pro: Ditto.
38986        * WebCore.vcproj/WebCore.vcproj: Ditto.
38987        * WebCore.xcodeproj/project.pbxproj: Ditto.
38988
38989        * bindings/js/JSDOMBinding.cpp:
38990        (WebCore::cacheDOMObjectWrapper):
38991        (WebCore::forgetDOMObject):
38992        (WebCore::forgetDOMNode):
38993        (WebCore::cacheDOMNodeWrapper):
38994        (WebCore::takeWrappers):
38995        (WebCore::updateDOMNodeDocument):
38996        Updated for new signature for willCacheWrapper and didUncacheWrapper.
38997
38998        * bindings/js/JSDOMWrapper.cpp: Added.
38999        (WebCore::DOMObject::~DOMObject):
39000        (WebCore::DOMObject::defineOwnProperty):
39001        Moved from JSDOMBinding.cpp.
39002
39003        * bindings/js/JSDebugWrapperSet.cpp: Added.
39004        (WebCore::JSDebugWrapperSet::shared):
39005        (WebCore::JSDebugWrapperSet::JSDebugWrapperSet):
39006        * bindings/js/JSDebugWrapperSet.h: Added.
39007        (WebCore::JSDebugWrapperSet::add):
39008        (WebCore::JSDebugWrapperSet::remove):
39009        (WebCore::JSDebugWrapperSet::contains):
39010        (WebCore::JSDebugWrapperSet::willCacheWrapper):
39011        (WebCore::JSDebugWrapperSet::didUncacheWrapper):
39012        Moved from JSDOMBinding.cpp.
39013
390142010-03-06  Sam Weinig  <sam@webkit.org>
39015
39016        Rubber-stamped by Dan Bernstein.
39017
39018        Move DOMObjectHashTableMap, DOMWrapperWorld and WebCoreJSClientData into
39019        their own files.
39020
39021        * GNUmakefile.am:
39022        * WebCore.gypi:
39023        * WebCore.pro:
39024        * WebCore.vcproj/WebCore.vcproj:
39025        * WebCore.xcodeproj/project.pbxproj:
39026        * bindings/js/DOMObjectHashTableMap.cpp: Copied from bindings/js/JSDOMBinding.cpp.
39027        * bindings/js/DOMObjectHashTableMap.h: Copied from bindings/js/JSDOMBinding.h.
39028        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
39029        (WebCore::DOMObjectHashTableMap::get):
39030        * bindings/js/DOMWrapperWorld.cpp: Copied from bindings/js/JSDOMBinding.cpp.
39031        (WebCore::forgetWorldOfDOMNodesForDocument):
39032        * bindings/js/DOMWrapperWorld.h: Copied from bindings/js/JSDOMBinding.h.
39033        (WebCore::DOMWrapperWorld::create):
39034        (WebCore::DOMWrapperWorld::rememberDocument):
39035        (WebCore::DOMWrapperWorld::forgetDocument):
39036        (WebCore::DOMWrapperWorld::isNormal):
39037        (WebCore::debuggerWorld):
39038        (WebCore::pluginWorld):
39039        (WebCore::currentWorld):
39040        (WebCore::Document::getWrapperCache):
39041        * bindings/js/JSDOMBinding.cpp:
39042        * bindings/js/JSDOMBinding.h:
39043        * bindings/js/JSDOMWindowBase.cpp:
39044        * bindings/js/ScriptController.cpp:
39045        * bindings/js/WebCoreJSClientData.h: Copied from bindings/js/JSDOMBinding.h.
39046        (WebCore::WebCoreJSClientData::WebCoreJSClientData):
39047        (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
39048        (WebCore::WebCoreJSClientData::normalWorld):
39049        (WebCore::WebCoreJSClientData::getAllWorlds):
39050        (WebCore::WebCoreJSClientData::rememberWorld):
39051        (WebCore::WebCoreJSClientData::forgetWorld):
39052        * bindings/js/WorkerScriptController.cpp:
39053
390542010-03-06  Dan Bernstein  <mitz@apple.com>
39055
39056        Rubber-stamped by Sam Weinig.
39057
39058        Remove an unused method.
39059
39060        * rendering/RenderBlock.cpp:
39061        (WebCore::RenderBlock::layoutBlock): Changed comment.
39062        (WebCore::RenderBlock::floatRect): Removed.
39063        * rendering/RenderBlock.h: Removed floatRect().
39064
390652010-03-06  Pavel Feldman  <pfeldman@chromium.org>
39066
39067        Reviewed by Timothy Hatcher.
39068
39069        Web Inspector: make timeline overview bars transparent to mouse events.
39070
39071        https://bugs.webkit.org/show_bug.cgi?id=35832
39072
39073        * inspector/front-end/inspector.css:
39074
390752010-03-06  Pavel Feldman  <pfeldman@chromium.org>
39076
39077        Reviewed by Jeremy Orlow.
39078
39079        Web Inspector: switching to/from Timeline Panel moves scroller.
39080        (Also added couple of record details items as I was fixing it).
39081
39082        https://bugs.webkit.org/show_bug.cgi?id=35829
39083
39084        * English.lproj/localizedStrings.js:
39085        * inspector/front-end/TimelinePanel.js:
39086        (WebInspector.TimelinePanel):
39087        (WebInspector.TimelinePanel.prototype.get defaultFocusedElement):
39088        (WebInspector.TimelinePanel.prototype.show):
39089        (WebInspector.TimelinePanel.prototype._refreshRecords):
39090        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
39091
390922010-03-06  Patrick Gansterer  <paroga@paroga.com>
39093
39094        Reviewed by Eric Seidel.
39095
39096        Removed unnecessary WinCE file.
39097        The same functionality is provided by platform/win/SystemTimeWin.cpp.
39098        https://bugs.webkit.org/show_bug.cgi?id=35799
39099
39100        * platform/wince/SystemTimeWince.cpp: Removed.
39101
391022010-03-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39103
39104        Reviewed by Eric Seidel.
39105
39106        https://bugs.webkit.org/show_bug.cgi?id=30895
39107        [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk
39108
39109        This completes the fixing of the Atk table hierarchy which was started
39110        in bug #35418.
39111
39112        * accessibility/gtk/AccessibilityObjectAtk.cpp:
39113        (AccessibilityObject::accessibilityPlatformIncludesObject):
39114        * accessibility/AccessibilityRenderObject.cpp:
39115        (AccessibilityRenderObject::determineAccessibilityRole):
39116
391172010-03-06  MORITA Hajime  <morrita@google.com>
39118
39119        Reviewed by Darin Adler.
39120
39121        Moved implementations of window.btoa() and window.atob() from
39122        JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
39123        functions instead of having a separate implementation. As a side effect, the
39124        error message has changed from "Cannot decode base64" to one that
39125        indicates DOM Exception, which is compatible to Firefox.
39126        
39127        Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
39128        https://bugs.webkit.org/show_bug.cgi?id=35723
39129
39130        No new test. No new functionality.
39131
39132        * bindings/js/JSDOMWindowCustom.cpp:
39133        (WebCore::JSDOMWindow::atob):
39134        (WebCore::JSDOMWindow::btoa):
39135        Moved conversion code to DOMWindow and invoke it. Argument
39136        checking remains here.
39137        
39138        * bindings/v8/custom/V8DOMWindowCustom.cpp:
39139        (WebCore::V8DOMWindow::atobCallback):
39140        (WebCore::V8DOMWindow::btoaCallback):
39141        Remove conversion code and call DOMWindow APIs. Although argument
39142        checking remains here.
39143        
39144        * page/DOMWindow.cpp:
39145        (WebCore::hasMultibyteCharacters):
39146        (WebCore::DOMWindow::btoa):
39147        (WebCore::DOMWindow::atob):
39148        * page/DOMWindow.h:
39149        Moved Conversion code from JSDOMWindow, modifing to fit JSC independent.
39150
391512010-03-06  Yuta Kitamura  <yutak@chromium.org>
39152
39153        Reviewed by Eric Seidel.
39154
39155        Fix decoration position in search input field.
39156
39157        This patch fixes rendering of input field of "search" type, whose decoration
39158        (loupe icon and close button) was wrongly positioned when the input field was
39159        contained in a block with -webkit-transform property.
39160
39161        Chromium bug: http://crbug.com/20439
39162
39163        [Chromium] Decoration of "search" input field is wrongly rendered
39164        https://bugs.webkit.org/show_bug.cgi?id=30245
39165
39166        No new tests, since this patch fixes an existing test
39167        (fast/forms/search-transformed.html) in Chromium layout tests.
39168
39169        * rendering/RenderThemeChromiumSkia.cpp:
39170        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect): Added. This method
39171        does almost the same thing as RenderThemeMac::convertToPaintingRect.
39172        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton): The position
39173        of the icon should not depend on its absolute position.
39174        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration): Ditto.
39175        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Ditto.
39176        * rendering/RenderThemeChromiumSkia.h: Added new method.
39177
391782010-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
39179
39180        Reviewed by Pavel Feldman.
39181
39182        Web Inspector: in Timeline panel, click followed with mouse move resets popover.
39183
39184        https://bugs.webkit.org/show_bug.cgi?id=35827
39185
39186        * inspector/front-end/Popover.js:
39187        (WebInspector.PopoverHelper.prototype._mouseDown):
39188        (WebInspector.PopoverHelper.prototype._mouseMove):
39189        (WebInspector.PopoverHelper.prototype._handleMouseAction):
39190
391912010-03-05  Tony Chang  <tony@chromium.org>
39192
39193        Reviewed by Eric Seidel.
39194
39195        https://bugs.webkit.org/show_bug.cgi?id=33247
39196        Backwards cursor movement incorrect when previous block ends with <br>.
39197
39198        If the cursor is trying to move into a node that has a height of 0,
39199        skip over it.
39200
39201        Test: editing/execCommand/move-selection-back-line.html
39202
39203        * editing/visible_units.cpp:
39204        (WebCore::previousLinePosition):
39205
392062010-03-05  Andrey Kosyakov  <caseq@chromium.org>
39207
39208        Reviewed by Eric Seidel.
39209
39210        Enable resource loading callback while loading worker scripts
39211        https://bugs.webkit.org/show_bug.cgi?id=35744
39212
39213        * workers/WorkerScriptLoader.cpp:
39214        (WebCore::WorkerScriptLoader::loadSynchronously):
39215        (WebCore::WorkerScriptLoader::loadAsynchronously):
39216
392172010-03-05  Chris Fleizach  <cfleizach@apple.com>
39218
39219        Reviewed by Eric Seidel.
39220
39221        WAI-ARIA live region doesn't appear when <div> only has a <div> child
39222        https://bugs.webkit.org/show_bug.cgi?id=35751
39223
39224        Elements should not be ignored if they carry ARIA attributes in them.
39225
39226        Test: platform/mac/accessibility/div-containing-div-with-aria.html
39227
39228        * accessibility/AccessibilityObject.cpp:
39229        (WebCore::AccessibilityObject::supportsARIAAttributes):
39230        * accessibility/AccessibilityObject.h:
39231        (WebCore::AccessibilityObject::supportsARIADropping):
39232        (WebCore::AccessibilityObject::supportsARIADragging):
39233        * accessibility/AccessibilityRenderObject.cpp:
39234        (WebCore::AccessibilityRenderObject::supportsARIADropping):
39235        (WebCore::AccessibilityRenderObject::supportsARIADragging):
39236        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
39237        * accessibility/AccessibilityRenderObject.h:
39238
392392010-03-05  Dmitry Titov  <dimich@chromium.org>
39240
39241        Reviewed by Oliver Hunt.
39242
39243        Add a manual test for crash in DOMWindow::clearTimeout when DOMWindow is not connected to Frame
39244        https://bugs.webkit.org/show_bug.cgi?id=32353
39245
39246        * manual-tests/clearTimeout-crash-bug29832.html: Added.
39247
392482010-03-05  Dmitry Titov  <dimich@chromium.org>
39249
39250        Reviewed by David Levin.
39251
39252        [v8] Remove wrong assert in GC callback
39253        https://bugs.webkit.org/show_bug.cgi?id=35757
39254
39255        Test: fast/workers/wrapper-map-gc.html
39256
39257        * bindings/v8/DOMData.h:
39258        (WebCore::DOMData::handleWeakObject): remove ASSERT(isMainThread()), move another assert up to verify we are on the right thread.
39259
392602010-03-05  Alex Milowski  <alex@milowski.com>
39261
39262        Reviewed by Kenneth Rohde Christiansen.
39263
39264        Added support for row layout with stretchy operators and
39265        adjusted the over spacing for over and underover accordingly.
39266
39267        Tests: mathml/presentation/mo.xhtml
39268               mathml/presentation/row.xhtml
39269
39270        * WebCore.xcodeproj/project.pbxproj:
39271        * mathml/MathMLInlineContainerElement.cpp:
39272        * mathml/MathMLTextElement.cpp:
39273        * mathml/RenderMathMLMath.cpp: Added.
39274        * mathml/RenderMathMLMath.h: Added.
39275        * mathml/RenderMathMLOperator.cpp: Added.
39276        * mathml/RenderMathMLOperator.h: Added.
39277        * mathml/RenderMathMLRow.cpp: Added.
39278        * mathml/RenderMathMLRow.h: Added.
39279        * mathml/RenderMathMLUnderOver.cpp:
39280        * mathml/mathtags.in:
39281
392822010-03-05  Dean Jackson  <dino@apple.com>
39283
39284        Reviewed by Simon Fraser.
39285
39286        https://bugs.webkit.org/show_bug.cgi?id=35772
39287        Animation fill modes should be supported in the shorthand property
39288
39289        Add CSSPropertyWebkitAnimationFillMode to the list of properties
39290        evaluated in the -webkit-animation shorthand.
39291
39292        Test: animations/animation-shorthand.html
39293
39294        * css/CSSParser.cpp:
39295        (WebCore::CSSParser::parseAnimationShorthand):
39296
392972010-03-05  Dean Jackson  <dino@apple.com>
39298
39299        Reviewed by Simon Fraser
39300
39301        https://bugs.webkit.org/show_bug.cgi?id=35815
39302        Animation Fill Modes fail on Windows
39303
39304        * css/CSSComputedStyleDeclaration.cpp:
39305        * css/CSSStyleSelector.cpp:
39306        * platform/graphics/mac/GraphicsLayerCA.mm:
39307            - use new enum value
39308        * platform/animation/Animation.h:
39309            - change bitfield type
39310        * rendering/style/RenderStyleConstants.h:
39311            - add new enum for fill mode
39312
393132010-03-05  Csaba Osztrogonác  <ossy@webkit.org>
39314
39315        Unreviewed buildfix after r55593. (To fix Qt --minimal build.)
39316
39317        * bindings/js/JSDOMWindowCustom.cpp: Missing #if ENABLE(DATABASE) guard added.
39318
393192010-03-05  Simon Fraser  <simon.fraser@apple.com>
39320
39321        Reviewed by Darin Adler.
39322
39323        ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
39324        https://bugs.webkit.org/show_bug.cgi?id=34065
39325        <rdar://problem/7573509>
39326        
39327        Fix one instance of this assertion (not necessarily the one seen on hulu.com).
39328        
39329        If the layer that clippingRoot() is being called on is itself compositing,
39330        then it acts as the clipping root. Without this, calls to RenderLayer::childrenClipRect()
39331        and RenderLayer::selfClipRect() via FrameView::windowClipRectForLayer(), for plug-ins,
39332        caused the caching of an incorrect clip rects root.
39333
39334        Test: compositing/geometry/object-clip-rects-assertion.html
39335
39336        * rendering/RenderLayer.cpp:
39337        (WebCore::RenderLayer::clippingRoot):
39338
393392010-03-05  Simon Fraser  <simon.fraser@apple.com>
39340
39341        Reviewed by Dan Bernstein.
39342
39343        Child clipping compositing layers don't show the blue debug color
39344        https://bugs.webkit.org/show_bug.cgi?id=35807
39345
39346        Set a layer owner on the GraphicsLayers created for clipping children,
39347        so that they can get to the debug settings that give them the blue color.
39348
39349        * rendering/RenderLayerBacking.cpp:
39350        (WebCore::RenderLayerBacking::updateClippingLayers):
39351
393522010-03-05  Simon Fraser  <simon.fraser@apple.com>
39353
39354        Reviewed by Dan Bernstein.
39355
39356        MobileMe movie page is missing playback controls
39357        https://bugs.webkit.org/show_bug.cgi?id=35805
39358        <rdar://problem/7653169>
39359        
39360        On pages with video or plug-ins, we run overlap tests to determine which layers
39361        need to be composited. There was an ordering dependency bug in
39362        RenderLayerCompositor::computeCompositingRequirements() that caused us to fail
39363        to detect that a layer needed to be composited, resulting in page content
39364        not being visible.
39365        
39366        Specifically, layer->setHasCompositingDescendant() can change the answer
39367        to needsToBeComposited(), when a layer has to clip compositing descendants.
39368        So if we change setHasCompositingDescendant(), then we need to re-test
39369        clipsCompositingDescendants() and add the layer to the overlap map if so.
39370
39371        Test: compositing/overflow/overflow-compositing-descendant.html
39372
39373        * rendering/RenderLayerCompositor.cpp:
39374        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
39375
393762010-03-04  Dumitru Daniliuc  <dumi@chromium.org>
39377
39378        Reviewed by Adam Barth.
39379
39380        Adding support for the optional creation callback that could be
39381        passed to openDatabase().
39382
39383        Test: storage/open-database-creation-callback.html
39384
39385        https://bugs.webkit.org/show_bug.cgi?id=34726
39386
39387        * Android.jscbindings.mk
39388        * Android.v8bindings.mk
39389        * GNUmakefile.am:
39390        * WebCore.gypi:
39391        * WebCore.pro:
39392        * WebCore.vcproj/WebCore.vcproj:
39393        * WebCore.xcodeproj/project.pbxproj:
39394        * bindings/js/JSDOMWindowCustom.cpp:
39395        (WebCore::JSDOMWindow::openDatabase):
39396        * bindings/js/JSDatabaseCallback.cpp: Added.
39397        (WebCore::JSDatabaseCallback::JSDatabaseCallback):
39398        (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
39399        (WebCore::JSDatabaseCallback::handleEvent):
39400        * bindings/js/JSDatabaseCallback.h: Added.
39401        (WebCore::JSDatabaseCallback::create):
39402        * bindings/v8/custom/V8DOMWindowCustom.cpp:
39403        (WebCore::V8DOMWindow::openDatabaseCallback):
39404        * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
39405        (WebCore::V8DatabaseCallback::V8DatabaseCallback):
39406        (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
39407        (WebCore::V8DatabaseCallback::handleEvent):
39408        * bindings/v8/custom/V8DatabaseCallback.h: Added.
39409        (WebCore::V8DatabaseCallback::create):
39410        * page/DOMWindow.cpp:
39411        (WebCore::DOMWindow::openDatabase):
39412        * page/DOMWindow.h:
39413        * page/DOMWindow.idl:
39414        * storage/Database.cpp:
39415        (WebCore::DatabaseCreationCallbackTask::create):
39416        (WebCore::DatabaseCreationCallbackTask::performTask):
39417        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
39418        (WebCore::Database::openDatabase):
39419        (WebCore::Database::Database):
39420        (WebCore::Database::performOpenAndVerify):
39421        (WebCore::Database::performCreationCallback):
39422        * storage/Database.h:
39423        (WebCore::Database::isNew):
39424        * storage/DatabaseCallback.h: Added.
39425        (WebCore::DatabaseCallback::~DatabaseCallback):
39426        * workers/WorkerContext.cpp:
39427        (WebCore::WorkerContext::openDatabase):
39428        * workers/WorkerContext.h:
39429
394302010-03-05  Chris Marrin  <cmarrin@apple.com>
39431
39432        Reviewed by Simon Fraser.
39433
39434        Fixed infinite recursion of composited video on Windows
39435        https://bugs.webkit.org/show_bug.cgi?id=35798
39436        
39437        Due to a change in the way we get the platformLayer (WKCACFLayer)
39438        for video, the mediaplayer was in an infinite loop with WKCACFLayer
39439        bouncing notifySyncRequired calls back and forth. After discussion
39440        we decided it would be better to avoid notifySyncRequired entirely,
39441        which would walk up through WebCore calls and back down through
39442        WebKit calls to tell the WKCACFLayerRenderer to kick off a render cycle.
39443        
39444        I subclassed WKCACFLayer into a WKCACFRootLayer which has a pointer to
39445        the WKCACFLayerRenderer. When something changes, we get the rootLayer()
39446        by walking up the layers and make a virtual call which WKCACFRootLayer
39447        implements to tell WKCACFLayerRenderer to render.
39448        
39449        I also got rid of GraphicsLayer knowledge from WKCACFLayer. GraphicsLayerCACF
39450        now makes a WebLayer subclass which implements the drawInContext()
39451        virtual method.
39452        
39453        I also had to add protection to the platformLayer() call in 
39454        MediaPlayerPrivateQuickTimeWin because it gets called earlier than before
39455        when the layer is still null.
39456
39457        * platform/graphics/win/GraphicsLayerCACF.cpp:Implement WebLayer
39458        (WebCore::WebLayer::create):
39459        (WebCore::WebLayer::drawInContext):
39460        (WebCore::WebLayer::WebLayer):
39461        (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
39462        (WebCore::GraphicsLayerCACF::setNeedsDisplayInRect):
39463        (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
39464        (WebCore::GraphicsLayerCACF::updateContentsImage):
39465        * platform/graphics/win/GraphicsLayerCACF.h:
39466        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:Protect platformLayer from a null qtLayer
39467        (WebCore::MediaPlayerPrivate::platformLayer):
39468        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:Got rid of no longer needed method
39469        (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
39470        * platform/graphics/win/WKCACFLayer.cpp:Got rid of GraphicsLayer dependency. Made virtual.
39471        (WebCore::displayCallback):
39472        (WebCore::WKCACFLayer::create):
39473        (WebCore::WKCACFLayer::WKCACFLayer):
39474        (WebCore::WKCACFLayer::setNeedsCommit):
39475        (WebCore::WKCACFLayer::setNeedsDisplay):
39476        * platform/graphics/win/WKCACFLayer.h:
39477        (WebCore::WKCACFLayer::setNeedsRender):
39478        (WebCore::WKCACFLayer::drawInContext):
39479        * platform/graphics/win/WKCACFLayerRenderer.cpp:Create WKCACFRootLayer which tells WKCACFLayerRenderer to render
39480        (WebCore::WKCACFRootLayer::WKCACFRootLayer):
39481        (WebCore::WKCACFRootLayer::create):
39482        (WebCore::WKCACFRootLayer::setNeedsRender):
39483        (WebCore::WKCACFRootLayer::setNeedsDisplay):
39484        (WebCore::WKCACFLayerRenderer::rootLayer):
39485        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
39486        (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
39487        (WebCore::WKCACFLayerRenderer::createRenderer):
39488        * platform/graphics/win/WKCACFLayerRenderer.h:
39489
394902010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
39491
39492        Reviewed by David Levin.
39493
39494        [Chromium] Missing commas in WebCore.gypi file make building Geo unpossible.
39495        https://bugs.webkit.org/show_bug.cgi?id=35797
39496
39497        No new tests, this is a latent compile break.
39498
39499        * WebCore.gypi:
39500
395012010-03-04  Eric Carlson  <eric.carlson@apple.com>
39502
39503        Reviewed by Adele Peterson.
39504
39505        <rdar://problem/7718442> Implement 'preload=none'
39506        https://bugs.webkit.org/show_bug.cgi?id=35789
39507
39508        Don't load any media data when preload is 'none'.
39509
39510        Test: media/video-preload.html
39511
39512        * html/HTMLMediaElement.cpp:
39513        (WebCore::HTMLMediaElement::loadResource): Don't call player's setPreload method
39514            when autoplay is set.
39515
39516        * platform/graphics/MediaPlayer.cpp:
39517        (WebCore::MediaPlayer::setPreload): Set m_preload so we have the correct value when
39518            the media engine is created.
39519
39520        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
39521        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
39522        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_preload.
39523        (WebCore::MediaPlayerPrivate::resumeLoad): New, kick off postponed a load.
39524        (WebCore::MediaPlayerPrivate::load): Do nothing if preload is 'none'
39525        (WebCore::MediaPlayerPrivate::loadInternal): New, complete loading.
39526        (WebCore::MediaPlayerPrivate::prepareToPlay): New, resume a postponed load as someone
39527            has called play().
39528        (WebCore::MediaPlayerPrivate::setPreload): New, set m_preload.
39529
395302010-03-04  Nate Chapin  <japhet@chromium.org>
39531
39532        Reviewed by Dimitri Glazkov.
39533
39534        [V8] Give CodeGeneratorV8.pm a much-needed spring cleaning.
39535
39536        https://bugs.webkit.org/show_bug.cgi?id=35697
39537
39538        * bindings/scripts/CodeGeneratorV8.pm: Remove unused code, fix style issues, make less hard-coded.
39539        * bindings/v8/custom/V8DOMWindowCustom.cpp:
39540        (WebCore::V8DOMWindow::addEventListenerCallback):
39541        (WebCore::V8DOMWindow::removeEventListenerCallback):
39542
395432010-03-05  Pavel Feldman  <pfeldman@chromium.org>
39544
39545        Not reviewed. Roll back r55522 since it regreses performance
39546        according to chromium's page cycler.
39547
39548        https://bugs.webkit.org/show_bug.cgi?id=35568
39549
395502010-03-05  Dean Jackson  <dino@apple.com>
39551
39552        Reviewed by Simon Fraser and Chris Marrin.
39553
39554        Bug 26869: Add fill modes for CSS Animations
39555        https://bugs.webkit.org/show_bug.cgi?id=26869
39556
39557        Tests: animations/fill-mode-removed.html
39558               animations/fill-mode-transform.html
39559               animations/fill-mode.html
39560
39561        * css/CSSComputedStyleDeclaration.cpp:
39562        * css/CSSParser.cpp:
39563        * css/CSSParser.h:
39564        * css/CSSPropertyNames.in:
39565        * css/CSSStyleSelector.cpp:
39566        * css/CSSStyleSelector.h:
39567        * css/CSSValueKeywords.in:
39568            - parse, assign and retrieve the value of the new
39569              -webkit-animation-fill-mode property
39570        * page/animation/AnimationBase.cpp:
39571        * page/animation/AnimationBase.h:
39572            - new state in animation engine for a finished animation
39573              that is "filling" forwards in time. This allows the
39574              engine to keep the animation around and not revert to the
39575              old style.
39576            - update the timer code to indicate it doesn't need to
39577              keep animating if it is filling
39578            - now that animations can extend beyond their elapsed time,
39579              make sure progress works correctly with iteration counts
39580        * page/animation/KeyframeAnimation.cpp:
39581        (WebCore::KeyframeAnimation::animate):
39582            - ensure correct style value is returned at the right
39583              time by checking for fill mode
39584        (WebCore::KeyframeAnimation::onAnimationEnd):
39585            - continue to send the end event, but only remove the
39586              animation if it isn't filling forwards
39587        * platform/animation/Animation.cpp:
39588        * platform/animation/Animation.h:
39589            - new fill mode member property
39590        * platform/animation/AnimationList.cpp:
39591            - ensure the fill mode is propagated to a list of style valus
39592        * platform/graphics/mac/GraphicsLayerCA.mm:
39593            - make hardware layers use Core Animation's fill mode
39594
395952010-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
39596
39597        Reviewed by Pavel Feldman.
39598
39599        Web Inspector: Do not show link helper in popovers and/or for external resources.
39600
39601        https://bugs.webkit.org/show_bug.cgi?id=35785
39602
39603        * English.lproj/localizedStrings.js:
39604        * inspector/front-end/ResourcesPanel.js:
39605        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
39606        * inspector/front-end/ScriptsPanel.js:
39607        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
39608        * inspector/front-end/TimelinePanel.js:
39609        (WebInspector.TimelinePanel.prototype.hide):
39610        * inspector/front-end/inspector.js:
39611        (WebInspector.documentMouseOver):
39612        (WebInspector.documentClick.followLink):
39613        (WebInspector.documentClick):
39614        (WebInspector.addMainEventListeners):
39615
396162010-03-05  Fumitoshi Ukai  <ukai@chromium.org>
39617
39618        Reviewed by Alexey Proskuryakov.
39619
39620        WebSocket onmessageerror event handler
39621        https://bugs.webkit.org/show_bug.cgi?id=35570
39622
39623        Test: websocket/tests/error-detect.html
39624
39625        * websockets/WebSocket.cpp:
39626        (WebCore::WebSocketChannel::didConnect): assert scriptExecutionContext.
39627        (WebCore::WebSocketChannel::didReceiveMessage): assert scriptExecutionContext.
39628        (WebCore::WebSocket::didReceiveMessageError):
39629        (WebCore::WebSocket::didClose): assert scriptExecutionContext.
39630        * websockets/WebSocket.h:
39631        * websockets/WebSocket.idl: Add onerror event listener
39632        * websockets/WebSocketChannel.cpp:
39633        (WebCore::WebSocketChannel::didReceiveData): call didReceiveMessageError if unknown frame tye is detected, or frame length overflowed.
39634        * websockets/WebSocketChannelClient.h:
39635        (WebCore::WebSocketChannelClient::didReceiveMessageError):
39636
396372010-03-04  Garret Kelly  <gdk@chromium.org>
39638
39639        Reviewed by Darin Fisher.
39640
39641        Changing private members from PlatformTouchEvent and PlatformTouchPoint
39642        to be protected, so that Chromium's PlatformTouchEventBuilder and
39643        PlatformTouchPointBuilder can access them. Exercised by the
39644        fast/events/touch tests.
39645        https://bugs.webkit.org/show_bug.cgi?id=35760
39646
39647        * platform/PlatformTouchEvent.h:
39648        (WebCore::PlatformTouchEvent::~PlatformTouchEvent):
39649        * platform/PlatformTouchPoint.h:
39650        (WebCore::PlatformTouchPoint::~PlatformTouchPoint):
39651
396522010-03-04  Fumitoshi Ukai  <ukai@chromium.org>
39653
39654        Reviewed by Alexey Proskuryakov.
39655
39656        WebSocket crash bug when reloading the page while the WebSocket is busy
39657        https://bugs.webkit.org/show_bug.cgi?id=35732
39658
39659        * websockets/WebSocketChannel.cpp:
39660        (WebCore::WebSocketChannel::disconnect): clear m_context from WebSocketChannel and WebSocketHandshake.
39661        (WebCore::WebSocketChannel::didOpen): check m_context
39662        (WebCore::WebSocketChannel::didClose): clear m_context
39663        (WebCore::WebSocketChannel::didReceiveData): check m_context, and check m_client early before appending to buffer
39664        * websockets/WebSocketHandshake.cpp:
39665        (WebCore::WebSocketHandshake::clearScriptExecutionContext): Added.
39666        * websockets/WebSocketHandshake.h:
39667
396682010-03-04  MORITA Hajime <morrita@google.com>
39669
39670        Reviewed by Alexey Proskuryakov.
39671
39672        Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
39673        https://bugs.webkit.org/show_bug.cgi?id=35630
39674
39675        Test: http/tests/xmlhttprequest/open-async-overload.html
39676
39677        * bindings/js/JSXMLHttpRequestCustom.cpp:
39678        (WebCore::JSXMLHttpRequest::open):
39679        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
39680        (WebCore::V8XMLHttpRequest::openCallback):
39681        * xml/XMLHttpRequest.cpp:
39682        (WebCore::XMLHttpRequest::open):
39683        * xml/XMLHttpRequest.h:
39684
396852010-03-04  James Robinson  <jamesr@google.com>
39686
39687        Reviewed by Eric Seidel.
39688
39689        Styles do not have to be synchronously rematched after every event dispatch
39690
39691        https://bugs.webkit.org/show_bug.cgi?id=32580
39692
39693        * bindings/js/JSEventListener.cpp:
39694        (WebCore::JSEventListener::handleEvent):
39695        * bindings/v8/V8AbstractEventListener.cpp:
39696        (WebCore::V8AbstractEventListener::handleEvent):
39697
396982010-03-04  Luiz Agostini  <luiz.agostini@openbossa.org>
39699
39700        Reviewed by Kenneth Rohde Christiansen.
39701
39702        maemo spelled as mameo in WebCore.pro
39703        https://bugs.webkit.org/show_bug.cgi?id=35765
39704
39705        Spelling corrected.
39706
39707        * WebCore.pro:
39708
397092010-03-04  Tony Chang  <tony@chromium.org>
39710
39711        Reviewed by Eric Seidel.
39712
39713        https://bugs.webkit.org/show_bug.cgi?id=18819
39714        Pressing option+page{down,up} should move the cursor and scroll in
39715        content editable areas.  On other platforms, pressing page{down,up}
39716        should move the cursor and scroll in content editable areas.
39717
39718        Test: editing/input/option-page-up-down.html
39719
39720        * editing/EditorCommand.cpp:
39721        (WebCore::verticalScrollDistance):
39722
397232010-03-03  Oliver Hunt  <oliver@apple.com>
39724
39725        Reviewed by Gavin Barraclough.
39726
39727        Allow static property getters to interact with JSCs caching
39728        https://bugs.webkit.org/show_bug.cgi?id=35716
39729
39730        Update the obviously safe getters to allow caching
39731
39732        Test: fast/js/pic/cached-named-property-getter.html
39733
39734        * bridge/runtime_array.cpp:
39735        (JSC::RuntimeArray::getOwnPropertySlot):
39736        * bridge/runtime_method.cpp:
39737        (JSC::RuntimeMethod::getOwnPropertySlot):
39738
397392010-03-04  Mark Rowe  <mrowe@apple.com>
39740
39741        Reviewed by Sam Weinig.
39742
39743        <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
39744
39745        * WebCore.xcodeproj/project.pbxproj: Copy DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h
39746        in to the framework wrapper.
39747
397482010-03-04  James Robinson  <jamesr@chromium.org>
39749
39750        Reviewed by Dimitri Glazkov.
39751
39752        Handles setting HTMLSelectElement.length with mutation handlers present
39753        https://bugs.webkit.org/show_bug.cgi?id=33983
39754
39755        When setting an HTMLSelectElement's length attribute, option elements have to be added or removed to the select
39756        as appropriate.  This is a little tricky with mutation events since they might add, remove, or reorder elements
39757        while option elements are being added or deleted.
39758
39759        Tests: fast/forms/select-set-length-optgroup.html
39760               fast/forms/select-set-length-with-mutation-remove.html
39761               fast/forms/select-set-length-with-mutation-reorder.html
39762               fast/forms/select-set-length-with-mutation-reparent.html
39763               fast/forms/select-set-length-with-mutation.html
39764               fast/forms/select-set-length.html
39765
39766        * html/HTMLSelectElement.cpp:
39767        (WebCore::HTMLSelectElement::setLength):
39768
397692010-03-04  Csaba Osztrogonác  <ossy@webkit.org>
39770
39771        [Qt] Unreviewed buildfix after r55542 on Windows.
39772
39773        * WebCore.pro:
39774         - plugins/win/PluginDatabaseWin.cpp removed.
39775         - platform/win/WebCoreInstanceHandle.cpp added.
39776
39777        * platform/win/WebCoreInstanceHandle.cpp: Remove explicit qualification in namespace declaration to make gcc happy.
39778
397792010-03-04  Nate Chapin  <japhet@chromium.org>
39780
39781        Reviewed by Kenneth Rohde Christiansen.
39782
39783        Fix the case where we do a same document navigation, scroll,
39784        then repeat the same document navigation.  Currently, the second
39785        navigation does nothing.
39786
39787        https://bugs.webkit.org/show_bug.cgi?id=35547
39788
39789        Test: fast/loader/repeat-same-document-navigation.html
39790
39791        * loader/FrameLoader.cpp:
39792        (WebCore::FrameLoader::loadInSameDocument): Call scrollToFragment() whether or not the hash changed.
39793
397942010-03-04  Simon Fraser  <simon.fraser@apple.com>
39795
39796        Build fix.
39797        
39798        const long long cMaxDistance = numeric_limits<long long>::max() created global
39799        initializers at the call sites, so replace with an inline function.
39800
39801        * page/FocusController.cpp:
39802        (WebCore::updateFocusCandidateIfCloser):
39803        * page/SpatialNavigation.cpp:
39804        (WebCore::distanceInDirection):
39805        * page/SpatialNavigation.h:
39806        (WebCore::maxDistance):
39807        (WebCore::FocusCandidate::FocusCandidate):
39808
398092010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39810
39811        Unreviewed attempt to fix Windows build.
39812
39813        * page/SpatialNavigation.cpp:
39814        (WebCore::spatialDistance):
39815
398162010-03-04  Simon Fraser  <simon.fraser@apple.com>
39817
39818        Build fix.
39819
39820        Delcare updateFocusCandidateIfCloser static to avoid warning.
39821
39822        * page/FocusController.cpp:
39823        (WebCore::updateFocusCandidateIfCloser):
39824
398252010-03-04  Darin Fisher  <darin@chromium.org>
39826
39827        Reviewed by Dmitry Titov.
39828
39829        [chromium] make history.{push,replace}State enabled at runtime
39830        https://bugs.webkit.org/show_bug.cgi?id=35753
39831
39832        * bindings/generic/RuntimeEnabledFeatures.cpp:
39833        * bindings/generic/RuntimeEnabledFeatures.h:
39834        (WebCore::RuntimeEnabledFeatures::setPushStateEnabled):
39835        (WebCore::RuntimeEnabledFeatures::pushStateEnabled):
39836        (WebCore::RuntimeEnabledFeatures::replaceStateEnabled):
39837        * page/History.idl:
39838
398392010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39840
39841        Unreviewed attempt to (again) fix Mac build.
39842
39843        * page/SpatialNavigation.cpp:
39844        (WebCore::spatialDistance):
39845
398462010-03-04  Dan Bernstein  <mitz@apple.com>
39847
39848        Based on a patch from Nick Jong.
39849
39850        Reviewed by Simon Fraser.
39851
39852        Improve selection in multi-column blocks when hitting points above or
39853        below a column rect.
39854
39855        Test: fast/multicol/hit-test-above-or-below.html
39856
39857        * rendering/RenderBlock.cpp:
39858        (WebCore::RenderBlock::adjustPointToColumnContents): If the point lies
39859        within the horizontal range for a column, constrain it to the column (if
39860        it is above) or the next column (if it is below).
39861
398622010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39863
39864        Reviewed by Simon Fraser.
39865
39866        Attempt to fix Mac build.
39867
39868        * page/SpatialNavigation.cpp:
39869
398702010-03-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
39871
39872        Add SpatialNavigation header and cpp to Mac XCode project file.
39873
39874        Reviewed by Kenneth Christiansen.
39875
39876        * WebCore.xcodeproj/project.pbxproj:
39877
398782010-03-02  Antonio Gomes  <tonikitoo@webkit.org>
39879
39880        Reviewed by Simon Fraser, Eric Seidel and Darin Adler.
39881        Patch by Antonio Gomes <tonikitoo@webkit.org>
39882        Based on the initial work of Marco Barisione <marco.barisione@collabora.co.uk>
39883
39884        Extend keyboard navigation to allow directional navigation
39885        https://bugs.webkit.org/show_bug.cgi?id=18662
39886
39887        This patch implements the core logic of the 'Spatial Navigation' feature [1].
39888        It improves the accessibility support of WebCore by extending the basic keyboard
39889        navigation currently available (based on Tab forward and backward) with the
39890        addition of a two-dimensional directional navigation by using Left, Right, Up and
39891        Down arrow keys to move to the "nearest" element in the corresponding direction.
39892
39893        Highlights:
39894        * Feature is turned off by default in Settings. Port specific APIs need to be added
39895          for toggling it on/off.
39896        * Only elements viewed in the current viewport can have focus move to it. If the
39897          "nearest" is not in viewport dimensions, then a scroll-in-direction action is
39898          performed.
39899
39900        Known issues (to be covered in follow-up bugs):
39901        * Add port specific hooks to each DRT to enable/disable Spatial Navigation.
39902        * Support for spatial navigation through form elements (<input>, <select>, etc)
39903          is be added.
39904        * Make navigation keys customizable. It currently works with arrows keys only
39905          (up, down, right and left).
39906        * Make it support modifiers (Alt, Ctrl and Shift).
39907        * Improve support on scrollable content.
39908
39909        [1] http://en.wikipedia.org/wiki/Spatial_navigation
39910
39911        * Android.mk:
39912        * GNUmakefile.am:
39913        * WebCore.gypi:
39914        * WebCore.pro:
39915        * WebCore.vcproj/WebCore.vcproj:
39916        * page/EventHandler.cpp:
39917        (WebCore::EventHandler::defaultKeyboardEventHandler):
39918        (WebCore::EventHandler::focusDirectionForKey):
39919        (WebCore::EventHandler::defaultArrowEventHandler):
39920        * page/EventHandler.h:
39921        * page/FocusController.cpp:
39922        (WebCore::FocusController::advanceFocus):
39923        (WebCore::FocusController::advanceFocusInDocumentOrder):
39924        (WebCore::FocusController::advanceFocusDirectionally):
39925        (WebCore::updateFocusCandidateIfCloser):
39926        (WebCore::FocusController::findFocusableNodeInDirection):
39927        (WebCore::FocusController::deepFindFocusableNodeInDirection):
39928        * page/FocusController.h:
39929        * page/FocusDirection.h:
39930        (WebCore::):
39931        * page/Settings.cpp:
39932        (WebCore::Settings::Settings):
39933        (WebCore::Settings::setSpatialNavigationEnabled):
39934        * page/Settings.h:
39935        (WebCore::Settings::isSpatialNavigationEnabled):
39936        * page/SpatialNavigation.cpp: Added.
39937        (WebCore::distanceInDirection):
39938        (WebCore::renderRectRelativeToRootDocument):
39939        (WebCore::alignmentForRects):
39940        (WebCore::isHorizontalMove):
39941        (WebCore::areRectsFullyAligned):
39942        (WebCore::areRectsPartiallyAligned):
39943        (WebCore::spatialDistance):
39944        (WebCore::isRectInDirection):
39945        (WebCore::hasOffscreenRect):
39946        (WebCore::scrollInDirection):
39947        (WebCore::isInRootDocument):
39948        (WebCore::deflateIfOverlapped):
39949        * page/SpatialNavigation.h: Added.
39950        (WebCore::):
39951        (WebCore::FocusCandidate::FocusCandidate):
39952
399532010-03-04  Beth Dakin  <bdakin@apple.com>
39954
39955        Reviewed by Anders Carlsson.
39956
39957        This fixes the layering violation I committed yesterday by moving 
39958        Page::instanceHandle into its own file just in the WebCore 
39959        namespace.
39960
39961        Added WebCoreInstanceHandle.h + .cpp and removed PageWin.cpp
39962        * WebCore.vcproj/WebCore.vcproj:
39963        * page/win/PageWin.cpp: Removed.
39964
39965        Remove all instance handle code from Page.
39966        * page/Page.h:
39967
39968        New files.
39969        * platform/win/WebCoreInstanceHandle.cpp: Added.
39970        * platform/win/WebCoreInstanceHandle.h: Added.
39971        (WebCore::setInstanceHandle):
39972        (WebCore::instanceHandle):
39973
39974        Switch to WebCore::instanceHandle() instead of 
39975        Page::instanceHandle() and include the new header.
39976        * platform/graphics/win/WKCACFLayerRenderer.cpp:
39977        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
39978        * platform/win/PasteboardWin.cpp:
39979        (WebCore::Pasteboard::Pasteboard):
39980        * platform/win/PopupMenuWin.cpp:
39981        (WebCore::PopupMenu::show):
39982        (WebCore::PopupMenu::registerClass):
39983        * platform/win/SharedTimerWin.cpp:
39984        (WebCore::initializeOffScreenTimerWindow):
39985        * plugins/win/PluginViewWin.cpp:
39986        (WebCore::registerPluginView):
39987        (WebCore::PluginView::platformStart):
39988
399892010-03-04  Antonio Gomes  <tonikitoo@webkit.org>
39990
39991        Unreviewed build fix.
39992        Patch by Antonio Gomes <tonikitoo@webkit.org>
39993
39994        'glib_file_name' renamed to 'gligFileName'.
39995
39996        * platform/graphics/gtk/ImageGtk.cpp:
39997        (WebCore::Image::loadPlatformResource):
39998
399992010-03-04  Pavel Feldman  <pfeldman@chromium.org>
40000
40001        Reviewed by Timothy Hatcher.
40002
40003        Web Inspector: Remove two last synchronous calls from front-end to InspectorBackend.
40004
40005        https://bugs.webkit.org/show_bug.cgi?id=35720
40006
40007        * inspector/InspectorBackend.cpp:
40008        (WebCore::InspectorBackend::enableSearchingForNode):
40009        (WebCore::InspectorBackend::disableSearchingForNode):
40010        (WebCore::InspectorBackend::setPauseOnExceptionsState):
40011        * inspector/InspectorBackend.h:
40012        * inspector/InspectorBackend.idl:
40013        * inspector/InspectorController.cpp:
40014        (WebCore::InspectorController::setWindowVisible):
40015        (WebCore::InspectorContorller::setSearchingForNode):
40016        (WebCore::InspectorController::populateScriptObjects):
40017        * inspector/InspectorController.h:
40018        * inspector/InspectorFrontend.cpp:
40019        (WebCore::InspectorFrontend::searchingForNodeWasEnabled):
40020        (WebCore::InspectorFrontend::searchingForNodeWasDisabled):
40021        (WebCore::InspectorFrontend::updatePauseOnExceptionsState):
40022        * inspector/InspectorFrontend.h:
40023        * inspector/front-end/ElementsPanel.js:
40024        (WebInspector.ElementsPanel):
40025        (WebInspector.ElementsPanel.prototype.get statusBarItems):
40026        (WebInspector.ElementsPanel.prototype.hide):
40027        (WebInspector.ElementsPanel.prototype.reset):
40028        (WebInspector.ElementsPanel.prototype.searchingForNodeWasEnabled):
40029        (WebInspector.ElementsPanel.prototype.searchingForNodeWasDisabled):
40030        (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
40031        * inspector/front-end/InspectorBackendStub.js:
40032        (.WebInspector.InspectorBackendStub.prototype.enableSearchingForNode):
40033        (.WebInspector.InspectorBackendStub.prototype.disableSearchingForNode):
40034        (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptionsState):
40035        * inspector/front-end/ScriptsPanel.js:
40036        (WebInspector.ScriptsPanel):
40037        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
40038        (WebInspector.ScriptsPanel.prototype.updatePauseOnExceptionsState):
40039        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
40040        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
40041        * inspector/front-end/inspector.js:
40042        (WebInspector.searchingForNodeWasEnabled):
40043        (WebInspector.searchingForNodeWasDisabled):
40044        (WebInspector.updatePauseOnExceptionsState):
40045
400462010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40047
40048        Reviewed by Timothy Hatcher.
40049
40050        Web Inspector: Clicking on an error should take me to the error
40051
40052        https://bugs.webkit.org/show_bug.cgi?id=34860
40053
40054        * inspector/front-end/ResourceView.js:
40055        (WebInspector.ResourceView):
40056        (WebInspector.ResourceView.prototype._selectTab):
40057        (WebInspector.ResourceView.prototype.selectContentTab):
40058        * inspector/front-end/ResourcesPanel.js:
40059        (WebInspector.ResourcesPanel.prototype.showResource):
40060
400612010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40062
40063        Reviewed by Timothy Hatcher.
40064
40065        Web Inspector: Remove sync access to resourceTrackingEnabled.
40066
40067        https://bugs.webkit.org/show_bug.cgi?id=35693
40068
40069        * inspector/InspectorBackend.cpp:
40070        * inspector/InspectorBackend.h:
40071        * inspector/InspectorBackend.idl:
40072        * inspector/InspectorController.cpp:
40073        (WebCore::InspectorController::populateScriptObjects):
40074        * inspector/front-end/AuditsPanel.js:
40075        (WebInspector.AuditsPanel.prototype._reloadResources):
40076        (WebInspector.AuditsPanel.prototype.show):
40077        * inspector/front-end/InspectorBackendStub.js:
40078        (.WebInspector.InspectorBackendStub):
40079        (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
40080        (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
40081        (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
40082        (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
40083        (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
40084        (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
40085        * inspector/front-end/ResourcesPanel.js:
40086        (WebInspector.ResourcesPanel):
40087        (WebInspector.ResourcesPanel.prototype.get resourceTrackingEnabled):
40088        (WebInspector.ResourcesPanel.prototype.get visibleView):
40089        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
40090        (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
40091        (WebInspector.ResourcesPanel.prototype.reset):
40092        (WebInspector.ResourcesPanel.prototype.showResource):
40093        (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
40094        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
40095
400962010-03-04  Antoine Quint  <ml@graougraou.com>
40097
40098        Reviewed by Darin Adler.
40099
40100        DOM insertion mutation events should dispatch after a node is attached to the render tree
40101        https://bugs.webkit.org/show_bug.cgi?id=35590
40102
40103        Test: fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html
40104
40105        Split off the internal-to-WebCore node insertion notification code from the DOM mutation
40106        event dispatching, originally in dispatchChildInsertionEvents(), to a new static function
40107        called notifyChildInserted(). This allows us to dispatch the mutation events at a later
40108        time upon insertion of a child into to the tree, specifically _after_ attachment to the render
40109        tree.
40110
40111        * dom/ContainerNode.cpp:
40112        (WebCore::ContainerNode::insertBefore):
40113        (WebCore::ContainerNode::replaceChild):
40114        (WebCore::ContainerNode::appendChild):
40115        (WebCore::notifyChildInserted):
40116        (WebCore::dispatchChildInsertionEvents):
40117
401182010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
40119
40120        Reviewed by Holger Freyther.
40121
40122        Make paths relocatable on runtime on Windows
40123        https://bugs.webkit.org/show_bug.cgi?id=32711
40124
40125        * platform/graphics/gtk/ImageGtk.cpp:
40126        (get_webkit_datadir):
40127        (WebCore::Image::loadPlatformResource):
40128
401292010-03-04  Pavel Feldman  <pfeldman@chromium.org>
40130
40131        Reviewed by Timothy Hatcher.
40132
40133        Web Inspector: Popup for Timeline panel will work in a tooltip mode
40134
40135        https://bugs.webkit.org/show_bug.cgi?id=35680
40136
40137        * inspector/front-end/Popover.js:
40138        (WebInspector.Popover):
40139        (WebInspector.Popover.prototype.show):
40140        (WebInspector.Popover.prototype.hide):
40141        (WebInspector.Popover.prototype._positionElement):
40142        (WebInspector.PopoverHelper):
40143        (WebInspector.PopoverHelper.prototype._mouseDown):
40144        (WebInspector.PopoverHelper.prototype._mouseMove.doHide):
40145        (WebInspector.PopoverHelper.prototype._mouseMove):
40146        (WebInspector.PopoverHelper.prototype._resetHoverTimer):
40147        (WebInspector.PopoverHelper.prototype.hidePopup):
40148        (WebInspector.PopoverHelper.prototype._mouseHover):
40149        (WebInspector.PopoverHelper.prototype._killHidePopupTimer):
40150        * inspector/front-end/TimelineOverviewPane.js:
40151        (WebInspector.TimelineOverviewPane.prototype.reset):
40152        * inspector/front-end/TimelinePanel.js:
40153        (WebInspector.TimelinePanel):
40154        (WebInspector.TimelinePanel.prototype.get _recordStyles):
40155        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
40156        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
40157        (WebInspector.TimelinePanel.prototype._refreshRecords):
40158        (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
40159        (WebInspector.TimelinePanel.prototype._getPopoverAnchor):
40160        (WebInspector.TimelinePanel.prototype._showPopover):
40161        (WebInspector.TimelinePanel.prototype._closeRecordDetails):
40162        (WebInspector.TimelineRecordListRow):
40163        (WebInspector.TimelineRecordListRow.prototype.update):
40164        (WebInspector.TimelineRecordGraphRow):
40165        (WebInspector.TimelineRecordGraphRow.prototype._onClick):
40166        (WebInspector.TimelinePanel.FormattedRecord):
40167        (WebInspector.TimelinePanel.FormattedRecord.prototype._createCell):
40168        (WebInspector.TimelinePanel.FormattedRecord.prototype._createRow):
40169        (WebInspector.TimelinePanel.FormattedRecord.prototype._createLinkRow):
40170        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
40171        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
40172        * inspector/front-end/inspector.css:
40173
401742010-03-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40175
40176        Unreviewed build fix.
40177
40178        Build fix after r55464.
40179
40180        No new tests, no new functionality.
40181
40182        * inspector/InspectorController.cpp:
40183        (WebCore::InspectorController::populateScriptObjects):
40184
401852010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40186
40187        Reviewed by Kenneth Rohde Christiansen.
40188
40189        Add EFL port files to platform/graphics/efl.
40190        http://webkit.org/b/35539
40191
40192        * platform/graphics/efl/FloatRectEfl.cpp: Added.
40193        * platform/graphics/efl/FontEfl.cpp: Added.
40194        * platform/graphics/efl/IconEfl.cpp: Added.
40195        * platform/graphics/efl/ImageEfl.cpp: Added.
40196        * platform/graphics/efl/IntPointEfl.cpp: Added.
40197        * platform/graphics/efl/IntRectEfl.cpp: Added.
40198
401992010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40200
40201        Reviewed by Kenneth Rohde Christiansen.
40202
40203        Add EFL port files to platform/text/efl.
40204        http://webkit.org/b/35740
40205
40206        * platform/text/efl/TextBreakIteratorInternalICUEfl.cpp: Added.
40207
402082010-03-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
40209
40210        Reviewed by Holger Freyther.
40211
40212        https://bugs.webkit.org/show_bug.cgi?id=35726
40213        Remove orphaned #ifdef WTF_USE_GLIB_ICU_UNICODE_HYBRID
40214
40215        Removing orphaned #if USE.
40216
40217        * platform/ThreadGlobalData.h:
40218
402192010-03-03  Jeremy Orlow  <jorlow@chromium.org>
40220
40221        Reviewed by Darin Fisher.
40222
40223        Throttle sync requests sent to the LocalStorage background thread
40224        https://bugs.webkit.org/show_bug.cgi?id=34943
40225
40226        Currently, once a second LocalStorage takes all keys/values which have
40227        been changed and sends them to a background thread to sync.  The problem
40228        is that this background thread can get overwhelmed and stop being
40229        responsive.  This means that if any other page tries to start using
40230        LocalStorage (and thus initiates the initial import) that'll block on
40231        all the previous syncs completing.
40232
40233        To mitigate this, I'm adding code so that we never schedule another
40234        sync task when another is still running.  In order to keep the sync
40235        tasks from growing exponentially when they do take longer than the
40236        storage sync interval, I've also added a basic rate limiter.  No effort
40237        is made to ensure fairness/ordering of what gets synced nor is there
40238        any way for this rate to be changed because most normal uses of
40239        LocalStorage really shouldn't be hitting these types of limits anyway.
40240
40241        The only behavioral change that's observible in JavaScript is time based
40242        and thus it's not practical to make new tests that aren't racy.  The
40243        existing layout tests cover LocalStorage pretty well, though.
40244
40245        * storage/StorageAreaSync.cpp:
40246        (WebCore::StorageAreaSync::StorageAreaSync):
40247        (WebCore::StorageAreaSync::scheduleFinalSync):
40248        (WebCore::StorageAreaSync::syncTimerFired):
40249        (WebCore::StorageAreaSync::performSync):
40250        * storage/StorageAreaSync.h:
40251
402522010-03-04  Andrey Kosyakov  <caseq@chromium.org>
40253
40254        Reviewed by Pavel Feldman.
40255
40256        Added support for worker instrumentation in inspector
40257        (display list of active workers, allow debugging of workers
40258        by injecting fake JS implementation)
40259
40260        https://bugs.webkit.org/show_bug.cgi?id=35568
40261
40262        * English.lproj/localizedStrings.js:
40263        * WebCore.gypi:
40264        * WebCore.vcproj/WebCore.vcproj:
40265        * bindings/js/JSInjectedScriptHostCustom.cpp:
40266        (WebCore::InjectedScriptHost::createInjectedScript):
40267        (WebCore::InjectedScriptHost::injectedScriptFor):
40268        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
40269        (WebCore::InjectedScriptHost::createInjectedScript):
40270        (WebCore::InjectedScriptHost::injectedScriptFor):
40271        * dom/Document.cpp:
40272        (WebCore::Document::inspectorController):
40273        * dom/Document.h:
40274        * dom/ScriptExecutionContext.h:
40275        (WebCore::ScriptExecutionContext::inspectorController):
40276        * inspector/InjectedScriptHost.cpp:
40277        (WebCore::InjectedScriptHost::InjectedScriptHost):
40278        (WebCore::InjectedScriptHost::injectScript):
40279        (WebCore::InjectedScriptHost::nextWorkerId):
40280        (WebCore::InjectedScriptHost::didCreateWorker):
40281        (WebCore::InjectedScriptHost::willDestroyWorker):
40282        * inspector/InjectedScriptHost.h:
40283        * inspector/InjectedScriptHost.idl:
40284        * inspector/InspectorController.cpp:
40285        (WebCore::InspectorController::populateScriptObjects):
40286        (WebCore::InspectorController::resetScriptObjects):
40287        (WebCore::InspectorController::didCommitLoad):
40288        (WebCore::InspectorController::didCreateWorker):
40289        (WebCore::InspectorController::willDestroyWorker):
40290        * inspector/InspectorController.h:
40291        * inspector/InspectorFrontend.cpp:
40292        (WebCore::InspectorFrontend::didCreateWorker):
40293        (WebCore::InspectorFrontend::willDestroyWorker):
40294        * inspector/InspectorFrontend.h:
40295        * inspector/InspectorWorkerResource.h: Added.
40296        (WebCore::InspectorWorkerResource::create):
40297        (WebCore::InspectorWorkerResource::id):
40298        (WebCore::InspectorWorkerResource::url):
40299        (WebCore::InspectorWorkerResource::isSharedWorker):
40300        (WebCore::InspectorWorkerResource::InspectorWorkerResource):
40301        * inspector/front-end/Checkbox.js: Added.
40302        (WebInspector.Checkbox.callbackWrapper):
40303        (WebInspector.Checkbox):
40304        (WebInspector.Checkbox.prototype.checked):
40305        * inspector/front-end/InjectedFakeWorker.js:
40306        (InjectedFakeWorker.FakeWorker):
40307        (InjectedFakeWorker.FakeWorker.prototype.terminate):
40308        (InjectedFakeWorker.FakeWorker.prototype._handleException):
40309        (InjectedFakeWorker.FakeWorker.prototype._importScripts):
40310        (InjectedFakeWorker.FakeWorker.prototype._loadScript):
40311        (InjectedFakeWorker.FakeWorker.prototype._expandURLAndCheckOrigin):
40312        * inspector/front-end/ScriptsPanel.js:
40313        (WebInspector.ScriptsPanel):
40314        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
40315        (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
40316        (WebInspector.ScriptsPanel.prototype.reset):
40317        * inspector/front-end/WebKit.qrc:
40318        * inspector/front-end/WorkersSidebarPane.js: Added.
40319        (WebInspector.WorkersSidebarPane):
40320        (WebInspector.WorkersSidebarPane.prototype.addWorker):
40321        (WebInspector.WorkersSidebarPane.prototype.removeWorker):
40322        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
40323        (WebInspector.WorkersSidebarPane.prototype.reset):
40324        (WebInspector.WorkersSidebarPane.prototype._onTriggerInstrument):
40325        (WebInspector.Worker):
40326        (WebInspector.didCreateWorker):
40327        (WebInspector.willDestroyWorker):
40328        * inspector/front-end/inspector.css:
40329        * inspector/front-end/inspector.html:
40330        * workers/AbstractWorker.cpp:
40331        (WebCore::AbstractWorker::AbstractWorker):
40332        (WebCore::AbstractWorker::~AbstractWorker):
40333        (WebCore::AbstractWorker::onDestroyWorker):
40334        (WebCore::AbstractWorker::contextDestroyed):
40335        * workers/AbstractWorker.h:
40336        (WebCore::AbstractWorker::id):
40337        * workers/SharedWorker.cpp:
40338        (WebCore::SharedWorker::SharedWorker):
40339        * workers/Worker.cpp:
40340        (WebCore::Worker::Worker):
40341
403422010-03-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40343
40344        Reviewed by Tor Arne Vestbø.
40345
40346        [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
40347
40348        This also allows shadow builds relying only on qmake to work properly.
40349
40350        * WebCore.pro:
40351
403522010-03-02  Holger Hans Peter Freyther  <zecke@selfish.org>
40353
40354        Reviewed by Simon Hausmann.
40355
40356        [Qt] Avoid calling QFont::detach too often from FontQt
40357        https://bugs.webkit.org/show_bug.cgi?id=35569
40358
40359        The letter- and wordspacing is inside the WebCore::Font class,
40360        our QFont is located in the WebCore::FontPlatformData. Everytime
40361        we need to use a QFont inside WebCore::Font we are calling the
40362        font method which gets the QFont from the WebCore::FontPlatformData
40363        and is applying the letter- and wordspacing. Internally this
40364        will attempt to detach the QFont...
40365
40366        Avoid calling setLetterSpacing and setWordSpacing on QFont if
40367        the WebCore::Font has the default applied.
40368
40369        * platform/graphics/qt/FontQt.cpp:
40370        (WebCore::Font::font):
40371
403722010-03-04  Alexander Pavlov  <apavlov@chromium.org>
40373
40374        Reviewed by Pavel Feldman.
40375
40376        Web Inspector: Nothing happens on navigation to resource via a link if resource tracking is disabled
40377        https://bugs.webkit.org/show_bug.cgi?id=35574
40378
40379        * English.lproj/localizedStrings.js:
40380        * inspector/front-end/ResourcesPanel.js:
40381        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
40382        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
40383        * inspector/front-end/inspector.js:
40384        (WebInspector.documentMouseOver):
40385        (WebInspector.documentMouseOut):
40386        (WebInspector.hideBadLinkPopupIfNecessary):
40387        (WebInspector.documentClick.followLink):
40388        (WebInspector.documentClick):
40389        (WebInspector.showBadLinkPopup.popupOverOut):
40390        (WebInspector.showBadLinkPopup):
40391        (WebInspector.addMainEventListeners):
40392
403932010-03-04  Vangelis Kokkevis  <vangelis@chromium.org>
40394
40395        Reviewed by Oliver Hunt.
40396
40397        getUniformLocation() now returns null if uniform requested 
40398        is not found.
40399        https://bugs.webkit.org/show_bug.cgi?id=34669
40400        
40401        Test:LayoutTests/fast/canvas/webgl/uniform-location.html
40402        (added missing test)
40403
40404        * html/canvas/WebGLRenderingContext.cpp:
40405        (WebCore::WebGLRenderingContext::getUniformLocation):
40406
404072010-03-04  John Abd-El-Malek  <jam@chromium.org>
40408
40409        Reviewed by Adam Barth.
40410
40411        Fix incorrect setup of DateExtension.
40412        https://bugs.webkit.org/show_bug.cgi?id=35710
40413
40414        * bindings/v8/DateExtension.cpp:
40415        (WebCore::DateExtension::setAllowSleep):
40416
404172010-03-04  Oliver Hunt  <oliver@apple.com>
40418
40419        Reviewed by Maciej Stachowiak.
40420
40421        https://bugs.webkit.org/show_bug.cgi?id=35603
40422        SVG incorrectly allows nested <use> elements in a <use> shadow tree
40423
40424        Simplify the handling of invalid or missing use-targets by cloning them
40425        to empty <g> elements rather than just allowing the <use> element to
40426        be copied into the shadow tree, as this violates a number of assumptions
40427        in the shadow tree handling code.
40428
40429        Tests: svg/custom/use-nested-disallowed-target.svg
40430               svg/custom/use-nested-missing-target-added.svg
40431               svg/custom/use-nested-missing-target-removed.svg
40432               svg/custom/use-nested-missing-target.svg
40433               svg/custom/use-nested-notarget.svg
40434
40435        * svg/SVGUseElement.cpp:
40436        (WebCore::SVGUseElement::buildPendingResource):
40437        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
40438        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
40439
404402010-03-04  Leandro Pereira  <leandro@profusion.mobi>
40441
40442        Reviewed by Gustavo Noronha Silva.
40443
40444        Move Cairo-related font code from platform/graphics/gtk to
40445        platform/graphics/cairo, so other ports may use them.
40446        http://webkit.org/b/35539
40447
40448        * GNUmakefile.am:
40449        * platform/graphics/cairo/FontCacheCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontCacheGtk.cpp.
40450        * platform/graphics/cairo/FontCustomPlatformData.cpp: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.cpp.
40451        * platform/graphics/cairo/FontCustomPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontCustomPlatformData.h.
40452        * platform/graphics/cairo/FontPlatformData.h: Copied from WebCore/platform/graphics/gtk/FontPlatformData.h.
40453        * platform/graphics/cairo/FontPlatformDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp.
40454        * platform/graphics/cairo/GlyphPageTreeNodeCairo.cpp: Copied from WebCore/platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp.
40455        * platform/graphics/cairo/SimpleFontDataCairo.cpp: Copied from WebCore/platform/graphics/gtk/SimpleFontDataGtk.cpp.
40456        * platform/graphics/gtk/FontCacheGtk.cpp: Removed.
40457        * platform/graphics/gtk/FontCustomPlatformData.cpp: Removed.
40458        * platform/graphics/gtk/FontCustomPlatformData.h: Removed.
40459        * platform/graphics/gtk/FontPlatformData.h: Removed.
40460        * platform/graphics/gtk/FontPlatformDataGtk.cpp: Removed.
40461        * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Removed.
40462        * platform/graphics/gtk/SimpleFontDataGtk.cpp: Removed.
40463
404642010-03-04  Evan Stade  <estade@chromium.org>
40465
40466        Reviewed by David Levin.
40467
40468        https://bugs.webkit.org/show_bug.cgi?id=35261
40469        [skia] crash when attempting to render certain SVGs
40470
40471        This fixes the crash, but the SVG still doesn't render properly.
40472
40473        Test: svg/custom/tiling-regular-hexagonal-crash.svg
40474
40475        * platform/graphics/skia/ImageSkia.cpp:
40476        (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
40477        the copy fails; instead return a blank bitmap. The caller doesn't
40478        check for 0 before dereferencing.
40479
404802010-03-04  Tony Chang  <tony@chromium.org>
40481
40482        Reviewed by Darin Fisher.
40483
40484        Initialize m_isMultipartPayload in other ResourceResponse ctor.
40485        In r55451 (bug 35628) I added an extra bool, but only initialized
40486        it in one constructor.
40487        https://bugs.webkit.org/show_bug.cgi?id=35719
40488
40489        * platform/network/chromium/ResourceResponse.h:
40490        (WebCore::ResourceResponse::ResourceResponse):
40491
404922010-03-03  Yuta Kitamura  <yutak@chromium.org>
40493
40494        Reviewed by Alexey Proskuryakov.
40495
40496        Add a new class that stores information about Web Socket handshake request.
40497
40498        Instances of this class contain the necessary information to send a Web Socket
40499        handshake request. In the future, this class will provide request information
40500        to the Web Inspector.
40501
40502        WebSocketHandshake needs to provide request information
40503        https://bugs.webkit.org/show_bug.cgi?id=34784
40504
40505        No new tests, since the current tests will suffice (LayoutTests/websocket/*).
40506
40507        * GNUmakefile.am:
40508        * WebCore.gypi:
40509        * WebCore.pro:
40510        * WebCore.vcproj/WebCore.vcproj:
40511        * WebCore.xcodeproj/project.pbxproj:
40512        * websockets/WebSocketChannel.cpp:
40513        * websockets/WebSocketHandshake.cpp:
40514        (WebCore::WebSocketHandshake::clientHandshakeMessage):
40515        (WebCore::WebSocketHandshake::clientHandshakeRequest):
40516        * websockets/WebSocketHandshake.h:
40517        * websockets/WebSocketHandshakeRequest.cpp: Added.
40518        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest):
40519        (WebCore::WebSocketHandshakeRequest::~WebSocketHandshakeRequest):
40520        (WebCore::WebSocketHandshakeRequest::addExtraHeaderField):
40521        (WebCore::WebSocketHandshakeRequest::headerFields):
40522        (WebCore::WebSocketHandshakeRequest::host):
40523        * websockets/WebSocketHandshakeRequest.h: Added.
40524
405252010-03-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40526
40527        Reviewed by Kenneth Rohde Christiansen.
40528
40529        Build fix after r55452.
40530
40531        No new tests, this is a build fix.
40532
40533        * page/Settings.cpp:
40534        (WebCore::Settings::setDatabasesEnabled):
40535
405362010-03-03  Diego Gonzalez  <diego.gonzalez@openbossa.org>
40537
40538        Reviewed by Kenneth Rohde Christiansen.
40539
40540        Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent
40541
40542        LayoutTests:
40543            fast/events/key-events-in-input-text.html
40544            fast/events/special-key-events-in-input-text.html
40545
40546        [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
40547        https://bugs.webkit.org/show_bug.cgi?id=35694
40548
40549        * platform/qt/PlatformKeyboardEventQt.cpp:
40550        (WebCore::keyIdentifierForQtKeyCode):
40551
405522010-03-03  Chad Faragher  <wyck@chromium.org>
40553
40554        Reviewed by Darin Adler.
40555        Changed the double-click framework code to pass adjusted page
40556        coordinates for zoomed pages.  Added a new test to expose
40557        mistreatment of mouse click coordinates during a double-click.
40558
40559        https://bugs.webkit.org/show_bug.cgi?id=35690
40560
40561        Test: fast/events/zoom-dblclick.html
40562
40563        * dom/Node.cpp:
40564        (WebCore::Node::dispatchMouseEvent):
40565
405662010-03-03  David Levin  <levin@chromium.org>
40567
40568        No review, rolling out r55474.
40569
40570        The patch broke fast/frames/sandboxed-iframe-storage.html
40571
40572        Last one (I hope).
40573        
40574        * WebCore.xcodeproj/project.pbxproj:
40575
405762010-03-03  David Levin  <levin@chromium.org>
40577
40578        No review, rolling out r55474.
40579
40580        The patch broke fast/frames/sandboxed-iframe-storage.html
40581
40582        Unfortunately, (the webkit-patch rollout and) I missed these in r55485.
40583
40584        * bindings/js/JSDatabaseCallback.cpp: Removed.
40585        * bindings/js/JSDatabaseCallback.h: Removed.
40586        * bindings/v8/custom/V8DatabaseCallback.cpp: Removed.
40587        * bindings/v8/custom/V8DatabaseCallback.h: Removed.
40588        * storage/DatabaseCallback.h: Removed.
40589
405902010-03-02  Dumitru Daniliuc  <dumi@chromium.org>
40591
40592        Reviewed by Dimitri Glazkov.
40593
40594        Fix a bug that could lead to a crash. Some parts of
40595        SQLTransaction::checkAndHandleClosedDatabase() should only be run
40596        when that method is invoked on the DB thread.
40597
40598        We cannot test this fix with a test, because the crash happens
40599        only when all of the following conditions are met:
40600        1. A database is closing.
40601        2. A transaction on that database is in progress.
40602        3. The transaction is in a state where a statement/transaction
40603        success/error callback needs to be invoked (so there's a task for
40604        this transaction pending on the main thread).
40605        4. The DB thread finished processing all its tasks and called
40606        SQLTransactionCoordinator::shutdown() before the main thread go to
40607        that task.
40608
40609        The closest thing we have to a test is running
40610        LayoutTests/storage/database-lock-after-reload.html 1000 times in
40611        a row. Without the patch, the probability of a crash happening in
40612        one of the runs is very high. With the patch, the test should
40613        reliably run 1000 times in a row without a single crash.
40614
40615        https://bugs.webkit.org/show_bug.cgi?id=35624
40616
40617        * storage/SQLTransaction.cpp:
40618        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
40619
406202010-03-03  Darin Fisher  <darin@chromium.org>
40621
40622        Reviewed by Mark Rowe.
40623
40624        Page should not care about Chromium plug-in implementation details
40625        https://bugs.webkit.org/show_bug.cgi?id=35623
40626
40627        * WebCore.gypi: Compile PluginViewNone.cpp
40628        * page/Page.cpp:
40629        (WebCore::Page::privateBrowsingStateChanged): Remove conditional
40630        compilation for PLATFORM(CHROMIUM).
40631
406322010-03-03  David Levin  <levin@chromium.org>
40633
40634        No review, rolling out r55474.
40635        http://trac.webkit.org/changeset/55480
40636
40637        The patch broke fast/frames/sandboxed-iframe-storage.html
40638
40639        * Android.jscbindings.mk:
40640        * Android.v8bindings.mk:
40641        * GNUmakefile.am:
40642        * WebCore.gypi:
40643        * WebCore.pro:
40644        * WebCore.vcproj/WebCore.vcproj:
40645        * bindings/js/JSDOMWindowCustom.cpp:
40646        * bindings/v8/custom/V8DOMWindowCustom.cpp:
40647        * dom/Document.cpp:
40648        (WebCore::Document::postTask):
40649        * page/DOMWindow.cpp:
40650        (WebCore::DOMWindow::openDatabase):
40651        * page/DOMWindow.h:
40652        * page/DOMWindow.idl:
40653        * storage/Database.cpp:
40654        (WebCore::Database::openDatabase):
40655        (WebCore::Database::Database):
40656        (WebCore::Database::performOpenAndVerify):
40657        * storage/Database.h:
40658        * workers/WorkerContext.cpp:
40659        (WebCore::WorkerContext::openDatabase):
40660        * workers/WorkerContext.h:
40661
406622010-03-03  David Levin  <levin@chromium.org>
40663
40664        No review, rolling out r55480.
40665        http://trac.webkit.org/changeset/55480
40666
40667        The patch broke fast/frames/sandboxed-iframe-storage.html
40668
40669        * storage/Database.cpp:
40670        * storage/Database.h:
40671
406722010-03-03  Mark Rowe  <mrowe@apple.com>
40673
40674        Reviewed by Geoff Garen.
40675
40676        Add virtual memory tags for TCMalloc and WebCore's purgeable buffers.
40677
40678        * platform/mac/PurgeableBufferMac.cpp:
40679        (WebCore::PurgeableBuffer::create):  Use the VM tag.
40680
406812010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
40682
40683        Reviewed by nobody, build fix.
40684
40685        Move #include "DatabaseCallback.h" from Database.h to
40686        Database.cpp.
40687
40688        * storage/Database.cpp:
40689        * storage/Database.h:
40690
406912010-03-03  Darin Adler  <darin@apple.com>
40692
40693        Fixed Mac build.
40694
40695        * WebCore.xcodeproj/project.pbxproj: Marked a couple of headers "private" so they can
40696        be used in the WebKit project.
40697
406982010-03-03  Alexey Proskuryakov  <ap@apple.com>
40699
40700        Reviewed by Adele Peterson.
40701
40702        https://bugs.webkit.org/show_bug.cgi?id=35044
40703        Crash in XML tokenizer reloading zoom-coords-viewattr-01-b.svg
40704
40705        I'm often getting a crash even when opening the test for the first time in Safari, but it
40706        doesn't seem to crash in DumpRenderTree. Still, I can't think of a stronger way to test for
40707        this condition, so no new regression test.
40708
40709        * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::end): Be prepared that parsing remaining
40710        input will pause parsing.
40711
407122010-03-03  Dumitru Daniliuc  <dumi@chromium.org>
40713
40714        Reviewed by Adam Barth.
40715
40716        Adding support for the optional creation callback that could be
40717        passed to openDatabase().
40718
40719        Test: storage/open-database-creation-callback.html
40720
40721        https://bugs.webkit.org/show_bug.cgi?id=34726
40722
40723        * Android.jscbindings.mk
40724        * Android.v8bindings.mk
40725        * GNUmakefile.am:
40726        * WebCore.gypi:
40727        * WebCore.pro:
40728        * WebCore.vcproj/WebCore.vcproj:
40729        * WebCore.xcodeproj/project.pbxproj:
40730        * bindings/js/JSDOMWindowCustom.cpp:
40731        (WebCore::JSDOMWindow::openDatabase):
40732        * bindings/js/JSDatabaseCallback.cpp: Added.
40733        (WebCore::JSDatabaseCallback::JSDatabaseCallback):
40734        (WebCore::JSDatabaseCallback::~JSDatabaseCallback):
40735        (WebCore::JSDatabaseCallback::handleEvent):
40736        * bindings/js/JSDatabaseCallback.h: Added.
40737        (WebCore::JSDatabaseCallback::create):
40738        * bindings/v8/custom/V8DOMWindowCustom.cpp:
40739        (WebCore::V8DOMWindow::openDatabaseCallback):
40740        * bindings/v8/custom/V8DatabaseCallback.cpp: Added.
40741        (WebCore::V8DatabaseCallback::V8DatabaseCallback):
40742        (WebCore::V8DatabaseCallback::~V8DatabaseCallback):
40743        (WebCore::V8DatabaseCallback::handleEvent):
40744        * bindings/v8/custom/V8DatabaseCallback.h: Added.
40745        (WebCore::V8DatabaseCallback::create):
40746        * page/DOMWindow.cpp:
40747        (WebCore::DOMWindow::openDatabase):
40748        * page/DOMWindow.h:
40749        * page/DOMWindow.idl:
40750        * storage/Database.cpp:
40751        (WebCore::DatabaseCreationCallbackTask::create):
40752        (WebCore::DatabaseCreationCallbackTask::performTask):
40753        (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
40754        (WebCore::Database::openDatabase):
40755        (WebCore::Database::Database):
40756        (WebCore::Database::performOpenAndVerify):
40757        (WebCore::Database::performCreationCallback):
40758        * storage/Database.h:
40759        (WebCore::Database::isNew):
40760        * storage/DatabaseCallback.h: Added.
40761        (WebCore::DatabaseCallback::~DatabaseCallback):
40762        * workers/WorkerContext.cpp:
40763        (WebCore::WorkerContext::openDatabase):
40764        * workers/WorkerContext.h:
40765
407662010-03-03  Alexander Pavlov  <apavlov@chromium.org>
40767
40768        Reviewed by Pavel Feldman.
40769
40770        Web Inspector: resources panel only shows uncompressed resource size.
40771        https://bugs.webkit.org/show_bug.cgi?id=35403
40772
40773        * English.lproj/localizedStrings.js:
40774        * inspector/InspectorResource.cpp:
40775        (WebCore::InspectorResource::updateScriptObject):
40776        * inspector/front-end/AbstractTimelinePanel.js:
40777        (WebInspector.AbstractTimelinePanel.prototype.refresh):
40778        * inspector/front-end/AuditRules.js:
40779        (WebInspector.AuditRules.GzipRule.prototype.doRun):
40780        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
40781        * inspector/front-end/ImageView.js:
40782        (WebInspector.ImageView):
40783        * inspector/front-end/Resource.js:
40784        (WebInspector.Resource.prototype.get resourceSize):
40785        (WebInspector.Resource.prototype.set resourceSize):
40786        (WebInspector.Resource.prototype.get transferSize):
40787        (WebInspector.Resource.CompareBySize):
40788        (WebInspector.Resource.CompareByTransferSize):
40789        * inspector/front-end/ResourcesPanel.js:
40790        (WebInspector.ResourcesPanel.prototype.populateSidebar):
40791        (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
40792        (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
40793        (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphPercentages):
40794        (WebInspector.ResourceTransferSizeCalculator.prototype._value):
40795        (WebInspector.ResourceTransferSizeCalculator.prototype._networkBytes):
40796        (WebInspector.ResourceSidebarTreeElement.CompareByDescendingTransferSize):
40797        (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
40798        (WebInspector.ResourceGraph.prototype.refresh):
40799        * inspector/front-end/inspector.css:
40800        * inspector/front-end/inspector.js:
40801        (WebInspector.updateResource):
40802
408032010-03-03  Dan Bernstein  <mitz@apple.com>
40804
40805        Build fix.
40806
40807        * dom/ContainerNode.cpp:
40808        (WebCore::ContainerNode::removeChildren):
40809
408102010-03-03  Pavel Feldman  <pfeldman@chromium.org>
40811
40812        Reviewed by Timothy Hatcher.
40813
40814        Web Inspector: Get rid of synchronous debuggerEnabled, profilerEnabled calls.
40815
40816        https://bugs.webkit.org/show_bug.cgi?id=32331
40817
40818        * inspector/InspectorBackend.cpp:
40819        * inspector/InspectorBackend.h:
40820        * inspector/InspectorBackend.idl:
40821        * inspector/front-end/BreakpointsSidebarPane.js:
40822        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
40823        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
40824        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
40825        * inspector/front-end/ProfilesPanel.js:
40826        (WebInspector.ProfilesPanel):
40827        (WebInspector.ProfilesPanel.prototype.profilerWasEnabled):
40828        (WebInspector.ProfilesPanel.prototype.profilerWasDisabled):
40829        (WebInspector.ProfilesPanel.prototype._updateInterface):
40830        (WebInspector.ProfilesPanel.prototype._enableProfiling):
40831        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
40832        * inspector/front-end/ScriptsPanel.js:
40833        (WebInspector.ScriptsPanel):
40834        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
40835        (WebInspector.ScriptsPanel.prototype.debuggerWasDisabled):
40836        (WebInspector.ScriptsPanel.prototype.reset):
40837        (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
40838        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
40839        (WebInspector.ScriptsPanel.prototype._enableDebugging):
40840        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
40841
408422010-03-03  Eric Carlson  <eric.carlson@apple.com>
40843
40844        Reviewed by Adele Peterson.
40845
40846        Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
40847        https://bugs.webkit.org/show_bug.cgi?id=35385
40848        rdar://problem/7689602
40849
40850        Tests: media/audio-constructor-preload.html
40851               media/video-dom-preload.html
40852
40853        * html/HTMLAttributeNames.in: Remove autobuffer, add preload
40854
40855        * html/HTMLAudioElement.cpp:
40856        (WebCore::HTMLAudioElement::createForJSConstructor): set preload to 'auto' instead of 
40857            autobuffer to true.
40858
40859        * html/HTMLMediaElement.cpp:
40860        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_preload.
40861        (WebCore::HTMLMediaElement::parseMappedAttribute): Deal with 'preload' attribute.
40862        (WebCore::HTMLMediaElement::loadResource): Call setPreload() on the newly created MediaPlayer,
40863            before calling load() so it can pass the setting through to the media engine.
40864        (WebCore::HTMLMediaElement::preload): New.
40865        (WebCore::HTMLMediaElement::setPreload): Ditto
40866        * html/HTMLMediaElement.h:
40867        * html/HTMLMediaElement.idl:
40868
40869        * platform/graphics/MediaPlayer.cpp:
40870        (WebCore::MediaPlayer::MediaPlayer): Initialize m_preload.
40871        (WebCore::MediaPlayer::load): Pass m_preload to newly created media engine.
40872        (WebCore::MediaPlayer::preload): New, return m_preload.
40873        (WebCore::MediaPlayer::setPreload): New, set m_preload.
40874        * platform/graphics/MediaPlayer.h:
40875        (WebCore::MediaPlayer::):
40876        * platform/graphics/MediaPlayerPrivate.h:
40877        (WebCore::MediaPlayerPrivateInterface::setPreload):
40878
40879        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
40880        (WebCore::MediaPlayerPrivate::setPreload): Renamed from setAutoplay, fix logic for preload.
40881        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
40882
408832010-03-03  Dan Bernstein  <mitz@apple.com>
40884
40885        Reviewed by Sam Weinig.
40886
40887        <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>
40888
40889        Test: fast/dom/remove-children-notification-order.html
40890
40891        * dom/ContainerNode.cpp:
40892        (WebCore::ContainerNode::removeChildren): Changed to call childrenChanged()
40893        before calling removedFromDocument() on each removed child, which matches
40894        the order removeChild() does things, and avoids the assertion. This required
40895        temporarily storing the removed children in a vector.
40896        Also added comments about other discrepancies between this function and
40897        removeChild().
40898
408992010-03-03  Adam Barth  <abarth@webkit.org>
40900
40901        Reviewed by Darin Adler.
40902
40903        Document cookieURL and firstPartyForCookies
40904        https://bugs.webkit.org/show_bug.cgi?id=35613
40905
40906        Some folks asked what the cookieURL and the firstPartyForCookies were
40907        on IRC.  This patch documents these properties in the code so folks
40908        don't have to ask on IRC anymore.
40909
40910        * dom/Document.h:
40911
409122010-03-03  Arno Renevier  <arno@renevier.net>
40913
40914        Reviewed by Gustavo Noronha Silva.
40915
40916        [Gtk]: assertion triggered when geolocation getCurrentPosition without an option argument.
40917        https://bugs.webkit.org/show_bug.cgi?id=35666
40918
40919        * platform/gtk/GeolocationServiceGtk.cpp:
40920        (WebCore::GeolocationServiceGtk::startUpdating):
40921
409222010-03-03  Fridrich Strba  <fridrich.strba@bluewin.ch>
40923
40924        Reviewed by Xan Lopez.
40925
40926        Miscellaneous little fixes for the windows build of webkit-gtk
40927        https://bugs.webkit.org/show_bug.cgi?id=35640
40928
40929        * GNUmakefile.am: dist two new files concerning mathml support.
40930
409312010-03-03  Xan Lopez  <xlopez@igalia.com>
40932
40933        Unreviewed distcheck fix.
40934
40935        Add new file to the build.
40936
40937        * GNUmakefile.am:
40938
409392010-03-03  Antti Koivisto  <koivisto@iki.fi>
40940
40941        Reviewed by Oliver Hunt.
40942
40943        Make IntPoint usable as a hash key
40944        
40945        https://bugs.webkit.org/show_bug.cgi?id=35586
40946
40947        * WebCore.pro:
40948        * WebCore.xcodeproj/project.pbxproj:
40949        * platform/graphics/IntPointHash.h: Added.
40950        (WTF::IntPointHash::hash):
40951        (WTF::IntPointHash::equal):
40952        (WTF::):
40953
409542010-03-02  Eric Uhrhane  <ericu@chromium.org>
40955
40956        Reviewed by David Levin.
40957
40958        Move database enable bit fully out of settings
40959        This is stage one of a three-stage commit [webkit, then chromium, then
40960        webkit again].  In this change I'm adding calls to
40961        Database::setIsAvailable inside Settings::setDatabaseEnabled and
40962        anywhere else that called it, and switching webkit fully over to using
40963        that flag [added in a previous checkin].  Phase two will remove
40964        Chromium's use of Settings for the Database, and phase three will remove
40965        the Setting for the Database enable entirely, leaving only
40966        Database::isAvailable/setIsAvailable.
40967
40968        No new tests; tested by existing storage tests.
40969
40970        https://bugs.webkit.org/show_bug.cgi?id=35310
40971
40972        * WebCore.base.exp: Export Database::setIsAvailable
40973        * WebCore.xcodeproj/project.pbxproj: Export needed headers as Private
40974        * page/DOMWindow.cpp: Read isAvailable, not Settings::isDatabaseEnabled
40975        (WebCore::DOMWindow::openDatabase):
40976        * page/Settings.cpp:  Add a call to Database::setIsAvailable.
40977        (WebCore::Settings::setDatabasesEnabled):
40978
409792010-03-02  Tony Chang  <tony@chromium.org>
40980
40981        Reviewed by Darin Fisher.
40982
40983        add a flag to WebURLResponse so we can identify multipart content
40984        https://bugs.webkit.org/show_bug.cgi?id=35628
40985
40986        * platform/network/chromium/ResourceResponse.h:
40987        (WebCore::ResourceResponse::ResourceResponse):
40988        (WebCore::ResourceResponse::isMultipartPayload):
40989        (WebCore::ResourceResponse::setIsMultipartPayload):
40990
409912010-03-02  Tony Chang  <tony@chromium.org>
40992
40993        Not reviewed, test fix.
40994
40995        Revert r55447 because the new layout test is crashing consistently
40996        on Leopard Intel Debug (tests).
40997        https://bugs.webkit.org/show_bug.cgi?id=35261
40998
40999        * platform/graphics/skia/ImageSkia.cpp:
41000        (WebCore::BitmapImageSingleFrameSkia::create):
41001
410022010-03-02  Adam Barth  <abarth@webkit.org>
41003
41004        Reviewed by Darin Fisher.
41005
41006        Google Analytics triggers "blocked plugin" UI
41007        https://bugs.webkit.org/show_bug.cgi?id=35565
41008
41009        Just like for running script, we need to distinguish between querying
41010        whether plug-ins are enabled and actually blocking a page from
41011        instantiating a plugin.  We need to issue different callbacks to the
41012        FrameLoaderClient so that the client can inform us that plug-ins are
41013        disabled in some cases without showing the "plug-in blocked" UI.
41014
41015        * dom/DOMImplementation.cpp:
41016        (WebCore::DOMImplementation::createDocument):
41017        * loader/FrameLoader.cpp:
41018        (WebCore::FrameLoader::requestObject):
41019        (WebCore::FrameLoader::allowPlugins):
41020        * loader/FrameLoader.h:
41021        (WebCore::):
41022        * loader/FrameLoaderClient.h:
41023        (WebCore::FrameLoaderClient::didNotAllowPlugins):
41024        * loader/MainResourceLoader.cpp:
41025        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
41026        * loader/PluginDocument.cpp:
41027        (WebCore::PluginTokenizer::writeRawData):
41028        * page/Page.cpp:
41029        (WebCore::Page::pluginData):
41030        * plugins/MimeType.cpp:
41031        (WebCore::MimeType::enabledPlugin):
41032
410332010-03-02  Andreas Kling  <andreas.kling@nokia.com>
41034
41035        Reviewed by Simon Hausmann.
41036
41037        [Qt] Support the HTTP OPTIONS verb (needed for preflight requests)
41038
41039        https://bugs.webkit.org/show_bug.cgi?id=34647
41040
41041        * platform/network/qt/QNetworkReplyHandler.cpp:
41042        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41043        (WebCore::QNetworkReplyHandler::start):
41044
410452010-03-02  Evan Stade  <estade@chromium.org>
41046
41047        Reviewed by David Levin.
41048
41049        https://bugs.webkit.org/show_bug.cgi?id=35261
41050        [skia] crash when attempting to render certain SVGs
41051
41052        This fixes the crash, but the SVG still doesn't render properly.
41053
41054        Test: svg/custom/tiling-regular-hexagonal-crash.svg
41055
41056        * platform/graphics/skia/ImageSkia.cpp:
41057        (WebCore::BitmapImageSingleFrameSkia::create): don't return 0 when
41058        the copy fails; instead return a blank bitmap. The caller doesn't
41059        check for 0 before dereferencing.
41060
410612010-03-02  Arno Renevier  <arno@renevier.net>
41062
41063        Reviewed by Gustavo Noronha Silva.
41064
41065        [Gtk] use geoclue providers with don't provide update
41066        https://bugs.webkit.org/show_bug.cgi?id=35191
41067
41068        No new tests, behaviour depends on system.
41069
41070        * platform/gtk/GeolocationServiceGtk.cpp:
41071        (WebCore::GeolocationServiceGtk::startUpdating):
41072
410732010-03-02  John Abd-El-Malek  <jam@chromium.org>
41074
41075        Reviewed by Darin Adler.
41076
41077        Remove unnecessary check.
41078        https://bugs.webkit.org/show_bug.cgi?id=35513
41079
41080        * platform/ScrollView.cpp:
41081        (WebCore::ScrollView::updateScrollbars):
41082
410832010-03-02  Darin Fisher  <darin@chromium.org>
41084
41085        Fix chromium build bustage.
41086
41087        * page/Page.cpp:
41088        (WebCore::Page::privateBrowsingStateChanged): PluginView methods may
41089        not be called in the Chromium port.
41090
410912010-03-02  Beth Dakin  <bdakin@apple.com>
41092
41093        Reviewed by Darin Adler and Adam Roben.
41094
41095        Fix for <rdar://problem/7485289> WebKit crashes on systems that 
41096        don't support CoreAnimation
41097
41098        WKCACFLayerRenderer::acceleratedCompositingAvailable() now creates 
41099        a dummy HWND so that it can step through the whole setHostWindow() 
41100        and createRenderer() process. createRenderer() also calls a new 
41101        function, hardwareCapabilitiesIndicateCoreAnimationSupport() which 
41102        can only be called  once we have a d3dDevice.
41103
41104        setHostWindow() and createRenderer() now both return bools that 
41105        indicate whether or not they have succeeded.
41106
41107        * platform/graphics/win/WKCACFLayerRenderer.cpp:
41108        (WebCore::hardwareCapabilitiesIndicateCoreAnimationSupport):
41109        (WebCore::CoreAnimationTesterWindowWndProc):
41110        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
41111        (WebCore::WKCACFLayerRenderer::shared):
41112        (WebCore::WKCACFLayerRenderer::createRenderer):
41113        * platform/graphics/win/WKCACFLayerRenderer.h:
41114        (WebCore::WKCACFLayerRenderer::setHostWindow):
41115
411162010-03-02  Mark Rowe  <mrowe@apple.com>
41117
41118        Rubber-stamped by Jon Honeycutt.
41119
41120        ScriptDebugServer shouldn't care that Mac does not use PluginView for plug-ins.
41121
41122        * bindings/js/ScriptDebugServer.cpp:
41123        * plugins/PluginViewNone.cpp:
41124        (WebCore::PluginView::setJavaScriptPaused): Add an empty implementation of setJavaScriptPaused.
41125
411262010-03-02  Mark Rowe  <mrowe@apple.com>
41127
41128        Rubber-stamped by Jon Honeycutt.
41129
41130        Clean up the build fix r55437 by adding an empty implementation of privateBrowsingStateChanged in PluginViewNone.cpp
41131
41132        * page/Page.cpp:
41133        * plugins/PluginViewNone.cpp:
41134        (WebCore::PluginView::privateBrowsingStateChanged):
41135
411362010-03-02  Mark Rowe  <mrowe@apple.com>
41137
41138        Fix the Mac build.
41139
41140        * page/Page.cpp:
41141        (WebCore::Page::privateBrowsingStateChanged): Mac doesn't use WebCore's PluginView class
41142        for plug-ins, so provide an empty implementation of privateBrowsingStateChanged for Mac.
41143
411442010-03-02  Andy Estes  <aestes@apple.com>
41145
41146        Reviewed by Maciej Stachowiak.
41147
41148        Add the capability to create and dispatch a WheelEvent in JavaScript.
41149        Ensure the event's default handler is triggered in the same way as it is
41150        during a PlatformWheelEvent.
41151
41152        https://bugs.webkit.org/show_bug.cgi?id=35566
41153
41154        Test: fast/events/wheelevent-in-scrolling-div.html
41155
41156        * dom/Node.cpp: Ensure that the default behavior (scrolling) occurs for
41157        wheel events originating both from the platform and from
41158        JavaScript/ObjC.
41159        (WebCore::Node::dispatchWheelEvent): Instantiate new WheelEvent with
41160        the graunularity of the PlatformWheelEvent.
41161        (WebCore::Node::defaultEventHandler): Add support for mousewheel events.
41162        * dom/WheelEvent.cpp: Add three new member variables: m_deltaX, m_deltaY
41163        and m_granularity.  m_deltaX and m_deltaY differ from m_wheelDeltaX and
41164        m_wheelDeltaY, which are the number of wheel ticks multiplied by 120 for
41165        IE compatibility.
41166        (WebCore::WheelEvent::WheelEvent): Initialize new member variables.
41167        (WebCore::WheelEvent::initWheelEvent): Same.
41168        (WebCore::WheelEvent::initWebKitWheelEvent): Same.
41169        * dom/WheelEvent.h: See WheelEvent.cpp.
41170        (WebCore::WheelEvent::): Add Granularity enum (Pixel, Line, Page).
41171        (WebCore::WheelEvent::create): Add new arguments.
41172        (WebCore::WheelEvent::deltaX): Amount of scroll in x direction.
41173        (WebCore::WheelEvent::deltaY): Amount of scroll in y direction.
41174        (WebCore::WheelEvent::granularity): Units of deltaX and deltaY.
41175        * dom/WheelEvent.idl: Add initWebKitWheelEvent() to JavaScript.  This is
41176        the same as the initWheelEvent ObjC method.  As the DOM Level 3 Events
41177        specification is still a working draft and subject to change, prefix
41178        'WebKit' to the method signature to indicate experimental support.
41179        * page/EventHandler.cpp: Move the scroll handling from
41180        handleWheelEvent() to defaultWheelEventHandler(), which is executed on
41181        both PlatformWheelEvents and JavaScript WheelEvents.
41182        (WebCore::scrollNode): Renamed from scrollAndAcceptEvent().  Remove
41183        the PlatformWheelEvent from the argument list and instead return a
41184        boolean indicating if the scroll event was accepted.
41185        (WebCore::EventHandler::handleWheelEvent): Move scrolling code from here
41186        (WebCore::EventHandler::defaultWheelEventHandler): ...to here.
41187        * page/EventHandler.h: Add function signature.
41188
411892010-03-02  Mark Rowe  <mrowe@apple.com>
41190
41191        Reviewed by Darin Adler.
41192
41193        Bug 35576: WebKit should tell plug-in instances when private browsing state changes
41194        <http://webkit.org/b/35576>
41195
41196        Notify plug-in instances when the private browsing state changes to match the behavior of the
41197        Mac plug-in code.
41198
41199        * page/Page.cpp:
41200        (WebCore::Page::privateBrowsingStateChanged): Walk the frame tree and notify each PluginView that
41201        the private browsing state has changed.
41202        * page/Page.h:
41203        * page/Settings.cpp:
41204        (WebCore::Settings::setPrivateBrowsingEnabled): Notify the page that the private browsing state
41205        has changed.
41206        * plugins/PluginView.cpp:
41207        (WebCore::PluginView::privateBrowsingStateChanged): Notify the plug-in instance of the new private
41208        browsing state.
41209        * plugins/PluginView.h:
41210
412112010-03-02  Mark Rowe  <mrowe@apple.com>
41212
41213        Reviewed by Oliver Hunt.
41214
41215        Bug 30348: Implement private mode for plug-ins on Windows
41216        <http://webkit.org/b/30348> / <rdar://problem/7562261>
41217
41218        Rework PluginView::getValue and PluginView::getValueStatic to remove the amount of code that
41219        was duplicated across platforms.  getValue and getValueStatic now call in to platform-specific
41220        variants that indicate whether they handled the query.  If the query is not handled by the
41221        platform-specific variants then the cross-platform handler has a chance to handle it.
41222
41223        * plugins/PluginView.cpp:
41224        (WebCore::PluginView::getValueStatic): Give the platform-specific variant a chance to handle the
41225        variable lookup.  If it does not handle it, return an error.
41226        (WebCore::PluginView::getValue): Give the platform-specific variant and platform-specific static
41227        variant a chance to handle the variable lookup.  If they do not handle it, apply the cross-platform
41228        handler.  At the moment the cross-platform code handles NPNVWindowNPObject, NPNVPluginElementNPObject,
41229        and NPNVprivateModeBool as they have an identical implementation across ports.
41230        * plugins/PluginView.h:
41231        * plugins/PluginViewNone.cpp:
41232        (WebCore::PluginView::platformGetValue): PluginViewNone does not handle any lookups.
41233        (WebCore::PluginView::platformGetValueStatic): Ditto.
41234        * plugins/gtk/PluginViewGtk.cpp:
41235        (WebCore::PluginView::platformGetValueStatic):
41236        (WebCore::PluginView::platformGetValue):
41237        platform-independent implementation.
41238        * plugins/mac/PluginViewMac.cpp:
41239        (WebCore::PluginView::platformGetValueStatic):
41240        (WebCore::PluginView::platformGetValue):
41241        * plugins/qt/PluginViewQt.cpp:
41242        (WebCore::PluginView::platformGetValueStatic):
41243        (WebCore::PluginView::platformGetValue): Fix a bug noticed while updating this code.
41244        The Qt implementation of the handler for NPNVToolkit was relying on case fall-through
41245        to have some values handled by the static handler.  When NPNVprivateModeBool was added
41246        it was placed before the default case, interferring with this fall-through.  It now
41247        explicitly indicates in this situation that it was not handled.
41248        * plugins/symbian/PluginViewSymbian.cpp:
41249        (WebCore::PluginView::platformGetValueStatic):
41250        (WebCore::PluginView::platformGetValue):
41251        * plugins/win/PluginViewWin.cpp:
41252        (WebCore::PluginView::platformGetValueStatic):
41253        (WebCore::PluginView::platformGetValue):
41254
412552010-03-02  Anders Carlsson  <andersca@apple.com>
41256
41257        Reviewed by Sam Weinig.
41258
41259        Make the default constructor available to all platforms.
41260
41261        * platform/PlatformKeyboardEvent.h:
41262        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
41263        * platform/mac/KeyEventMac.mm:
41264
412652010-03-02  Jeremy Orlow  <jorlow@chromium.org>
41266
41267        Reviewed by David Levin.
41268
41269        Revert database thread changes that are no longer required
41270        https://bugs.webkit.org/show_bug.cgi?id=35519
41271
41272        Jochen Eisinger created 55214 and 55247 to track which database
41273        owns which thread.  Dmitry suggested that this could also
41274        be done via TLS, though.  After exploring the options, Jochen
41275        chose to go the TLS route, so these patches are no longer needed.
41276
41277        * storage/DatabaseThread.cpp:
41278        (WebCore::DatabaseThread::DatabaseThread):
41279        (WebCore::DatabaseThread::databaseThread):
41280        * storage/DatabaseThread.h:
41281        (WebCore::DatabaseThread::getThreadID):
41282
412832010-03-02  Brady Eidson  <beidson@apple.com>
41284
41285        Reviewed by Sam Weinig.
41286
41287        Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
41288        <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
41289
41290        * dom/ScriptElement.cpp:
41291        (WebCore::ScriptElementData::shouldExecuteAsJavaScript): To more perfectly match Gecko's rule,
41292          strip whitespace from the attribute values before comparing to window/onload/onload().
41293
412942010-03-02  Chris Fleizach  <cfleizach@apple.com>
41295
41296        Reviewed by Beth Dakin.
41297
41298        aria-label isn't respected on option elements
41299        https://bugs.webkit.org/show_bug.cgi?id=35400
41300
41301        When aria-label is used on an <option> element, it can take three forms.
41302        An option in a multi-select list, a popup button and the menu that is displayed 
41303        from the popup button. This patches the three requisite locations so that if
41304        aria-label is used, the correct accessibility text is returned.
41305
41306        Test: platform/mac/accessibility/option-with-arialabel.html
41307
41308        * accessibility/AccessibilityListBoxOption.cpp:
41309        (WebCore::AccessibilityListBoxOption::stringValue):
41310        * accessibility/AccessibilityObject.cpp:
41311        (WebCore::AccessibilityObject::getAttribute):
41312        * accessibility/AccessibilityObject.h:
41313        * accessibility/AccessibilityRenderObject.cpp:
41314        (WebCore::AccessibilityRenderObject::getAttribute):
41315        (WebCore::AccessibilityRenderObject::stringValue):
41316        * platform/PopupMenuClient.h:
41317        * platform/mac/PopupMenuMac.mm:
41318        (WebCore::PopupMenu::populate):
41319        * rendering/RenderMenuList.cpp:
41320        (WebCore::RenderMenuList::itemAccessibilityText):
41321        * rendering/RenderMenuList.h:
41322        * rendering/RenderTextControlSingleLine.h:
41323        (WebCore::RenderTextControlSingleLine::itemAccessibilityText):
41324
413252010-03-02  Mads Ager  <ager@chromium.org>
41326
41327        Reviewed by Adam Barth.
41328
41329        [V8] V8 should be notified of context disposals
41330        https://bugs.webkit.org/show_bug.cgi?id=35526
41331
41332        Notify V8 of context disposals to allow it to clean up memory from those
41333        contexts when idle.  When disposing a context, start a timer that will
41334        give V8 an idle notification after a while to force cleanup.  Use a timer
41335        to avoid performing an idle notification in the middle of navigation where
41336        we know we are not idle.
41337
41338        * WebCore.gypi:
41339        * bindings/v8/V8DOMWindowShell.cpp:
41340        (WebCore::V8DOMWindowShell::disposeContextHandles):
41341        * bindings/v8/V8GCForContextDispose.cpp: Added.
41342        (WebCore::V8GCForContextDispose::V8GCForContextDispose):
41343        (WebCore::V8GCForContextDispose::notifyContextDisposed):
41344        (WebCore::V8GCForContextDispose::notifyIdleSooner):
41345        (WebCore::V8GCForContextDispose::instance):
41346        (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
41347        * bindings/v8/V8GCForContextDispose.h: Added.
41348        * bindings/v8/custom/V8DOMWindowCustom.cpp:
41349        (WebCore::WindowSetTimeoutImpl):
41350
413512010-03-02  Pavel Feldman  <pfeldman@chromium.org>
41352
41353        Not reviewed: adding missing image files to WebKit.qrc and gypi.
41354
41355        * WebCore.gypi:
41356        * inspector/front-end/WebKit.qrc:
41357
413582010-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
41359
41360        Reviewed by Simon Hausmann.
41361
41362        [Qt] GraphicsLayer: Video element with 3d transform crashes when AC is enabled.
41363        https://bugs.webkit.org/show_bug.cgi?id=35516
41364
41365        No new tests.
41366
41367        * platform/graphics/qt/GraphicsLayerQt.cpp:
41368        (WebCore::GraphicsLayerQt::setContentsToMedia):
41369
413702010-03-02  Fridrich Strba  <fridrich.strba@bluewin.ch>
41371
41372        Reviewed by Xan Lopez.
41373
41374        Use unsigned instead of uint which does not exist on windows
41375        https://bugs.webkit.org/show_bug.cgi?id=35546
41376
41377        * platform/graphics/gtk/ImageGtk.cpp:
41378        (WebCore::getCairoSurfacePixel):
41379        (WebCore::getGdkPixbufPixel):
41380
413812010-03-02  Kenneth Russell  <kbr@google.com>
41382
41383        Reviewed by Darin Fisher.
41384
41385        Add EnabledAtRuntime attribute to WebGLArray constructors
41386        https://bugs.webkit.org/show_bug.cgi?id=35558
41387
41388        New functionality verified manually in Chromium; not possible to
41389        write layout test. Ran WebGL tests in WebKit as well.
41390
41391        * bindings/generic/RuntimeEnabledFeatures.cpp:
41392        * bindings/generic/RuntimeEnabledFeatures.h:
41393        (WebCore::RuntimeEnabledFeatures::setWebGLEnabled):
41394        (WebCore::RuntimeEnabledFeatures::webGLRenderingContextEnabled):
41395        (WebCore::RuntimeEnabledFeatures::webGLArrayBufferEnabled):
41396        (WebCore::RuntimeEnabledFeatures::webGLByteArrayEnabled):
41397        (WebCore::RuntimeEnabledFeatures::webGLUnsignedByteArrayEnabled):
41398        (WebCore::RuntimeEnabledFeatures::webGLShortArrayEnabled):
41399        (WebCore::RuntimeEnabledFeatures::webGLUnsignedShortArrayEnabled):
41400        (WebCore::RuntimeEnabledFeatures::webGLIntArrayEnabled):
41401        (WebCore::RuntimeEnabledFeatures::webGLUnsignedIntArrayEnabled):
41402        (WebCore::RuntimeEnabledFeatures::webGLFloatArrayEnabled):
41403        * page/DOMWindow.idl:
41404
414052010-03-02  Nate Chapin  <japhet@chromium.org>
41406
41407        Reviewed by Dimitri Glazkov.
41408
41409        [V8] Fail gracefully if NPN_GetProperty tries to retrieve a property that doesn't exist.
41410
41411        https://bugs.webkit.org/show_bug.cgi?id=35588
41412
41413        Required for passing LayoutTests/plugins/netscape-plugin-property-access-exception.html on Chromium.
41414
41415        * bindings/v8/NPV8Object.cpp:
41416        (_NPN_GetProperty): If the result is empty, don't try to convert it to an NPVariant and return false.
41417
414182010-03-02  Jian Li  <jianli@chromium.org>
41419
41420        Reviewed by Nate Chapin.
41421
41422        [V8] DOMCoreException should be visible as DOMException 
41423        https://bugs.webkit.org/show_bug.cgi?id=35552
41424
41425        Fix V8 code generator to use the correct visible name.
41426
41427        * bindings/scripts/CodeGeneratorV8.pm:
41428
414292010-03-02  Brady Eidson  <beidson@apple.com>
41430
41431        Reviewed by Sam Weinig.
41432
41433        REGRESSION(r51097) - Unable to log in to statefarm.com
41434        <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556
41435
41436        Test: fast/loader/for-window-event-onload-scripts.html
41437
41438        Match Gecko's rules for executing "for/event" scripts:
41439          -If there's only a 'for' attribute, execute it.
41440          -If there's only an 'event' attribute, execute it.
41441          -If there's a 'for=window' and 'event=onload', execute it.
41442          -If there's a 'for=window' and 'event=onload()', execute it.
41443          -If there's any other combination of both 'for' and 'event', don't execute it.
41444
41445        * dom/ScriptElement.cpp:
41446        (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
41447        * dom/ScriptElement.h:
41448
41449        * html/HTMLScriptElement.cpp:
41450        (WebCore::HTMLScriptElement::eventAttributeValue):
41451        * html/HTMLScriptElement.h:
41452
41453        * svg/SVGScriptElement.cpp:
41454        (WebCore::SVGScriptElement::eventAttributeValue):
41455        * svg/SVGScriptElement.h:
41456
41457        Add the event attribute name:
41458        * html/HTMLAttributeNames.in:
41459
41460
414612010-03-02  Simon Fraser  <simon.fraser@apple.com>
41462
41463        Reviewed by Dan Bernstein.
41464
41465        https://bugs.webkit.org/show_bug.cgi?id=35555
41466        QuickTime plugin content can spill outside the <object> tag
41467
41468        Set -masksToBounds on the layer that is handed to us by plug-ins, to ensure that sublayers
41469        of that layer don't spill outside the <object> contents rect.
41470        
41471        Manual test because it relies on QuickTime, and pixel results depend on movie loading timing.
41472
41473        * manual-tests/plugins/object-clipping.html: Added.
41474        * platform/graphics/mac/GraphicsLayerCA.mm:
41475        (WebCore::GraphicsLayerCA::setupContentsLayer):
41476
414772010-03-02  Adam Roben  <aroben@apple.com>
41478
41479        Export SecurityOrigin::registerURLSchemeAsSecure
41480
41481        Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
41482        SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
41483
41484        Reviewed by Tim Hatcher.
41485
41486        * WebCore.base.exp: Added symbol, sorted file.
41487
414882010-03-02  Pavel Feldman  <pfeldman@chromium.org>
41489
41490        Reviewed by Timothy Hatcher.
41491
41492        Web Inspector: render breakpoints as border images instead of canvas.
41493
41494        https://bugs.webkit.org/show_bug.cgi?id=35535
41495
41496        * inspector/front-end/Images/breakpointBorder.png: Added.
41497        * inspector/front-end/Images/breakpointConditionalBorder.png: Added.
41498        * inspector/front-end/Images/breakpointConditionalCounterBorder.png: Added.
41499        * inspector/front-end/Images/breakpointCounterBorder.png: Added.
41500        * inspector/front-end/Images/programCounterBorder.png: Added.
41501        * inspector/front-end/SourceFrame.js:
41502        (WebInspector.SourceFrame.prototype._updateExecutionLine):
41503        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
41504        (WebInspector.SourceFrame.prototype.resize):
41505        * inspector/front-end/TextViewer.js:
41506        (WebInspector.TextChunk):
41507        * inspector/front-end/textViewer.css:
41508
415092010-01-28  Holger Hans Peter Freyther  <zecke@selfish.org>
41510
41511        Reviewed by Ariya Hidayat.
41512
41513        [Qt] Special case Font::floatWidthForComplexText for single space
41514        https://bugs.webkit.org/show_bug.cgi?id=33876
41515
41516        For a single space we can go through the QFontMetric::width routine
41517        instead of converting the WebCore::String to a QString and then
41518        going through the QTextLine.
41519
41520        * platform/graphics/qt/FontQt.cpp:
41521        (WebCore::Font::floatWidthForComplexText):
41522
415232010-02-28  Holger Hans Peter Freyther  <zecke@selfish.org>
41524
41525        Reviewed by Gustavo Noronha.
41526
41527        [Gtk] Support private browsing mode in plugins.
41528        https://bugs.webkit.org/show_bug.cgi?id=35500
41529
41530        Integrate the PluginViewQt.cpp changes from r55358 into Gtk+.
41531
41532        * plugins/gtk/PluginViewGtk.cpp:
41533        (WebCore::PluginView::getValue):
41534
415352010-03-02  Oliver Hunt  <oliver@apple.com>
41536
41537        Reviewed by NOBODY (Build fix).
41538
41539        Update Qt bridge to new named getter signature
41540
41541        * bridge/qt/qt_runtime.cpp:
41542        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
41543        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
41544        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
41545        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
41546        * bridge/qt/qt_runtime.h:
41547
415482010-03-01  Philippe Normand  <pnormand@igalia.com>
41549
41550        Reviewed by Gustavo Noronha.
41551
41552        [GTK] Move gstreamer-related source files to platform/graphics/gstreamer
41553        https://bugs.webkit.org/show_bug.cgi?id=35518
41554
41555        Moved GStreamer-related files to platform/graphics/gstreamer so
41556        other ports could benefit from this media player implementation.
41557
41558        * GNUmakefile.am:
41559        * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.cpp.
41560        (_do_init):
41561        (webkit_data_src_base_init):
41562        (webkit_data_src_class_init):
41563        (webkit_data_src_reset):
41564        (webkit_data_src_init):
41565        (webkit_data_src_finalize):
41566        (webkit_data_src_change_state):
41567        (webkit_data_src_uri_get_type):
41568        (webkit_data_src_uri_get_protocols):
41569        (webkit_data_src_uri_get_uri):
41570        (webkit_data_src_uri_set_uri):
41571        (webkit_data_src_uri_handler_init):
41572        * platform/graphics/gstreamer/DataSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/DataSourceGStreamer.h.
41573        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp.
41574        (WebCore::greatestCommonDivisor):
41575        (WebCore::mediaPlayerPrivateMessageCallback):
41576        (WebCore::mediaPlayerPrivateSourceChangedCallback):
41577        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
41578        (WebCore::notifyVolumeIdleCallback):
41579        (WebCore::mediaPlayerPrivateMuteChangedCallback):
41580        (WebCore::notifyMuteIdleCallback):
41581        (WebCore::bufferingTimeoutCallback):
41582        (WebCore::playbackPosition):
41583        (WebCore::mediaPlayerPrivateRepaintCallback):
41584        (WebCore::MediaPlayerPrivate::create):
41585        (WebCore::MediaPlayerPrivate::registerMediaEngine):
41586        (WebCore::doGstInit):
41587        (WebCore::MediaPlayerPrivate::isAvailable):
41588        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
41589        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
41590        (WebCore::MediaPlayerPrivate::load):
41591        (WebCore::MediaPlayerPrivate::changePipelineState):
41592        (WebCore::MediaPlayerPrivate::play):
41593        (WebCore::MediaPlayerPrivate::pause):
41594        (WebCore::MediaPlayerPrivate::duration):
41595        (WebCore::MediaPlayerPrivate::currentTime):
41596        (WebCore::MediaPlayerPrivate::seek):
41597        (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
41598        (WebCore::MediaPlayerPrivate::cancelSeek):
41599        (WebCore::MediaPlayerPrivate::endPointTimerFired):
41600        (WebCore::MediaPlayerPrivate::paused):
41601        (WebCore::MediaPlayerPrivate::seeking):
41602        (WebCore::MediaPlayerPrivate::naturalSize):
41603        (WebCore::MediaPlayerPrivate::hasVideo):
41604        (WebCore::MediaPlayerPrivate::hasAudio):
41605        (WebCore::MediaPlayerPrivate::setVolume):
41606        (WebCore::MediaPlayerPrivate::volumeChangedCallback):
41607        (WebCore::MediaPlayerPrivate::volumeChanged):
41608        (WebCore::MediaPlayerPrivate::setRate):
41609        (WebCore::MediaPlayerPrivate::networkState):
41610        (WebCore::MediaPlayerPrivate::readyState):
41611        (WebCore::MediaPlayerPrivate::buffered):
41612        (WebCore::MediaPlayerPrivate::processBufferingStats):
41613        (WebCore::MediaPlayerPrivate::queryBufferingStats):
41614        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
41615        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
41616        (WebCore::MediaPlayerPrivate::bytesLoaded):
41617        (WebCore::MediaPlayerPrivate::totalBytes):
41618        (WebCore::MediaPlayerPrivate::cancelLoad):
41619        (WebCore::MediaPlayerPrivate::updateStates):
41620        (WebCore::MediaPlayerPrivate::mediaLocationChanged):
41621        (WebCore::MediaPlayerPrivate::loadNextLocation):
41622        (WebCore::MediaPlayerPrivate::loadStateChanged):
41623        (WebCore::MediaPlayerPrivate::sizeChanged):
41624        (WebCore::MediaPlayerPrivate::timeChanged):
41625        (WebCore::MediaPlayerPrivate::didEnd):
41626        (WebCore::MediaPlayerPrivate::durationChanged):
41627        (WebCore::MediaPlayerPrivate::supportsMuting):
41628        (WebCore::MediaPlayerPrivate::setMuted):
41629        (WebCore::MediaPlayerPrivate::muteChangedCallback):
41630        (WebCore::MediaPlayerPrivate::muteChanged):
41631        (WebCore::MediaPlayerPrivate::loadingFailed):
41632        (WebCore::MediaPlayerPrivate::setSize):
41633        (WebCore::MediaPlayerPrivate::setVisible):
41634        (WebCore::MediaPlayerPrivate::repaint):
41635        (WebCore::MediaPlayerPrivate::paint):
41636        (WebCore::mimeTypeCache):
41637        (WebCore::MediaPlayerPrivate::getSupportedTypes):
41638        (WebCore::MediaPlayerPrivate::supportsType):
41639        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
41640        (WebCore::MediaPlayerPrivate::supportsFullscreen):
41641        (WebCore::MediaPlayerPrivate::setAutobuffer):
41642        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
41643        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Renamed from WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.h.
41644        (WebCore::MediaPlayerPrivate::pipelineReset):
41645        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.cpp.
41646        (webkit_video_sink_base_init):
41647        (webkit_video_sink_init):
41648        (webkit_video_sink_timeout_func):
41649        (webkit_video_sink_render):
41650        (webkit_video_sink_dispose):
41651        (unlock_buffer_mutex):
41652        (webkit_video_sink_unlock):
41653        (webkit_video_sink_unlock_stop):
41654        (webkit_video_sink_stop):
41655        (webkit_video_sink_start):
41656        (marshal_VOID__MINIOBJECT):
41657        (webkit_video_sink_class_init):
41658        (webkit_video_sink_new):
41659        * platform/graphics/gstreamer/VideoSinkGStreamer.h: Renamed from WebCore/platform/graphics/gtk/VideoSinkGStreamer.h.
41660        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.cpp.
41661        (doInit):
41662        (webkit_web_src_base_init):
41663        (webkit_web_src_class_init):
41664        (webkit_web_src_init):
41665        (webKitWebSrcFinalize):
41666        (webKitWebSrcSetProperty):
41667        (webKitWebSrcGetProperty):
41668        (webKitWebSrcStop):
41669        (webKitWebSrcStart):
41670        (webKitWebSrcChangeState):
41671        (webKitWebSrcUriGetType):
41672        (webKitWebSrcGetProtocols):
41673        (webKitWebSrcGetUri):
41674        (webKitWebSrcSetUri):
41675        (webKitWebSrcUriHandlerInit):
41676        (webKitWebSrcNeedDataMainCb):
41677        (webKitWebSrcNeedDataCb):
41678        (webKitWebSrcEnoughDataMainCb):
41679        (webKitWebSrcEnoughDataCb):
41680        (webKitWebSrcSeekMainCb):
41681        (webKitWebSrcSeekDataCb):
41682        (webKitWebSrcSetFrame):
41683        (StreamingClient::StreamingClient):
41684        (StreamingClient::~StreamingClient):
41685        (StreamingClient::willSendRequest):
41686        (StreamingClient::didReceiveResponse):
41687        (StreamingClient::didReceiveData):
41688        (StreamingClient::didFinishLoading):
41689        (StreamingClient::didFail):
41690        (StreamingClient::wasBlocked):
41691        (StreamingClient::cannotShowURL):
41692        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Renamed from WebCore/platform/graphics/gtk/WebKitWebSourceGStreamer.h.
41693
416942010-03-01  Oliver Hunt  <oliver@apple.com>
41695
41696        Reviewed by Maciej Stachowiak.
41697
41698        Refactor named getter function signature to be in line with indexing getter signature
41699        https://bugs.webkit.org/show_bug.cgi?id=35563
41700
41701        Fix up WebCore to use the new named getter function signature, update the
41702        codegenerator to the new calling convention, and fix the custom bindings.
41703
41704        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
41705        (WebCore::JSCSSStyleDeclaration::nameGetter):
41706        * bindings/js/JSDOMBinding.cpp:
41707        (WebCore::objectToStringFunctionGetter):
41708        * bindings/js/JSDOMBinding.h:
41709        * bindings/js/JSDOMWindowCustom.cpp:
41710        (WebCore::nonCachingStaticFunctionGetter):
41711        (WebCore::childFrameGetter):
41712        (WebCore::namedItemGetter):
41713        * bindings/js/JSDataGridColumnListCustom.cpp:
41714        (WebCore::JSDataGridColumnList::nameGetter):
41715        * bindings/js/JSHTMLAllCollectionCustom.cpp:
41716        (WebCore::JSHTMLAllCollection::nameGetter):
41717        * bindings/js/JSHTMLCollectionCustom.cpp:
41718        (WebCore::JSHTMLCollection::nameGetter):
41719        * bindings/js/JSHTMLDocumentCustom.cpp:
41720        (WebCore::JSHTMLDocument::nameGetter):
41721        * bindings/js/JSHTMLFormElementCustom.cpp:
41722        (WebCore::JSHTMLFormElement::nameGetter):
41723        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
41724        (WebCore::JSHTMLFrameSetElement::nameGetter):
41725        * bindings/js/JSHistoryCustom.cpp:
41726        (WebCore::nonCachingStaticBackFunctionGetter):
41727        (WebCore::nonCachingStaticForwardFunctionGetter):
41728        (WebCore::nonCachingStaticGoFunctionGetter):
41729        * bindings/js/JSLocationCustom.cpp:
41730        (WebCore::nonCachingStaticReplaceFunctionGetter):
41731        (WebCore::nonCachingStaticReloadFunctionGetter):
41732        (WebCore::nonCachingStaticAssignFunctionGetter):
41733        * bindings/js/JSMimeTypeArrayCustom.cpp:
41734        (WebCore::JSMimeTypeArray::nameGetter):
41735        * bindings/js/JSNamedNodeMapCustom.cpp:
41736        (WebCore::JSNamedNodeMap::nameGetter):
41737        * bindings/js/JSNodeListCustom.cpp:
41738        (WebCore::JSNodeList::nameGetter):
41739        * bindings/js/JSPluginArrayCustom.cpp:
41740        (WebCore::JSPluginArray::nameGetter):
41741        * bindings/js/JSPluginCustom.cpp:
41742        (WebCore::JSPlugin::nameGetter):
41743        * bindings/js/JSPluginElementFunctions.cpp:
41744        (WebCore::runtimeObjectPropertyGetter):
41745        * bindings/js/JSPluginElementFunctions.h:
41746        * bindings/js/JSStorageCustom.cpp:
41747        (WebCore::JSStorage::nameGetter):
41748        * bindings/js/JSStyleSheetListCustom.cpp:
41749        (WebCore::JSStyleSheetList::nameGetter):
41750        * bindings/scripts/CodeGeneratorJS.pm:
41751        * bridge/runtime_array.cpp:
41752        (JSC::RuntimeArray::lengthGetter):
41753        * bridge/runtime_array.h:
41754        * bridge/runtime_method.cpp:
41755        (JSC::RuntimeMethod::lengthGetter):
41756        * bridge/runtime_method.h:
41757        * bridge/runtime_object.cpp:
41758        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
41759        (JSC::Bindings::RuntimeObject::fieldGetter):
41760        (JSC::Bindings::RuntimeObject::methodGetter):
41761        * bridge/runtime_object.h:
41762
417632010-03-01  Oliver Hunt  <oliver@apple.com>
41764
41765        Reviewed by Gavin Barraclough.
41766
41767        PropertySlot::getValue(ExecState, unsigned) unnecessarily converts index to an Identifier
41768        https://bugs.webkit.org/show_bug.cgi?id=35561
41769
41770        Update bindings generation and the few manual indexing getters we have to use
41771        the new PropertySlot API.
41772
41773        * bindings/js/JSDOMWindowCustom.cpp:
41774        (WebCore::indexGetter):
41775        * bindings/scripts/CodeGeneratorJS.pm:
41776        * bridge/runtime_array.cpp:
41777        (JSC::RuntimeArray::indexGetter):
41778        * bridge/runtime_array.h:
41779
417802010-03-01  Chris Fleizach  <cfleizach@apple.com>
41781
41782        Reviewed by Darin Adler.
41783
41784        AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
41785        https://bugs.webkit.org/show_bug.cgi?id=35514
41786
41787        When a table's DOM is changed and an AX Table is not asked first for its children,
41788        it would return wrong information. A table needs to make sure children are up to date in
41789        all methods that can be called from the outside.
41790
41791        Test: platform/mac/accessibility/stale-table-rows.html
41792
41793        * accessibility/AccessibilityARIAGrid.cpp:
41794        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
41795        * accessibility/AccessibilityObject.cpp:
41796        (WebCore::AccessibilityObject::clearChildren):
41797        * accessibility/AccessibilityRenderObject.cpp:
41798        (WebCore::AccessibilityRenderObject::clearChildren):
41799        (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
41800        (WebCore::AccessibilityRenderObject::children):
41801        * accessibility/AccessibilityRenderObject.h:
41802        (WebCore::AccessibilityRenderObject::needsToUpdateChildren):
41803        (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
41804        * accessibility/AccessibilityTable.cpp:
41805        (WebCore::AccessibilityTable::clearChildren):
41806        (WebCore::AccessibilityTable::columns):
41807        (WebCore::AccessibilityTable::rows):
41808        (WebCore::AccessibilityTable::rowHeaders):
41809        (WebCore::AccessibilityTable::columnHeaders):
41810        (WebCore::AccessibilityTable::cells):
41811        (WebCore::AccessibilityTable::columnCount):
41812        (WebCore::AccessibilityTable::rowCount):
41813        (WebCore::AccessibilityTable::cellForColumnAndRow):
41814
418152010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
41816
41817        Reviewed by Adam Barth.
41818
41819        Convert the zoom mode (page vs. text-only) into a proper enum.
41820        https://bugs.webkit.org/show_bug.cgi?id=35347
41821
41822        * GNUmakefile.am:
41823        * WebCore.base.exp: Substituted symbols __ZN7WebCore5Frame13setZoomFactorEfNS_8ZoomModeE
41824        and __ZN7WebCore8Settings11setZoomModeENS_8ZoomModeE for __ZN7WebCore5Frame13setZoomFactorEfb
41825        and __ZN7WebCore8Settings16setZoomsTextOnlyEb, respectively.
41826        * WebCore.gypi:
41827        * WebCore.pro:
41828        * WebCore.vcproj/WebCore.vcproj:
41829        * WebCore.xcodeproj/project.pbxproj:
41830        * page/Frame.cpp:
41831        (WebCore::Frame::zoomMode):
41832        (WebCore::Frame::shouldApplyTextZoom):
41833        (WebCore::Frame::shouldApplyPageZoom):
41834        (WebCore::Frame::setZoomFactor):
41835        * page/Frame.h:
41836        * page/Settings.cpp:
41837        (WebCore::Settings::Settings):
41838        (WebCore::Settings::setZoomMode):
41839        * page/Settings.h:
41840        (WebCore::Settings::zoomMode):
41841        * page/ZoomMode.h: Added.
41842        (WebCore::):
41843        * svg/SVGSVGElement.cpp:
41844        (WebCore::SVGSVGElement::setCurrentScale):
41845
418462010-03-01  Alex Milowski  <alex@milowski.com>
41847
41848        Reviewed by Kenneth Rohde Christiansen.
41849
41850        Added support for the msubsup element that also handles the msup and msub elements.
41851
41852        Test: mathml/presentation/subsup.xhtml
41853
41854        * WebCore.xcodeproj/project.pbxproj:
41855        * mathml/MathMLInlineContainerElement.cpp:
41856        (WebCore::MathMLInlineContainerElement::createRenderer):
41857        * mathml/RenderMathMLSubSup.cpp: Added.
41858        (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
41859        (WebCore::RenderMathMLSubSup::addChild):
41860        (WebCore::RenderMathMLSubSup::stretchToHeight):
41861        (WebCore::RenderMathMLSubSup::nonOperatorHeight):
41862        (WebCore::RenderMathMLSubSup::layout):
41863        (WebCore::RenderMathMLSubSup::baselinePosition):
41864        * mathml/RenderMathMLSubSup.h: Added.
41865        (WebCore::RenderMathMLSubSup::hasBase):
41866        (WebCore::RenderMathMLSubSup::):
41867
418682010-03-01  Pavel Feldman  <pfeldman@chromium.org>
41869
41870        Reviewed by Timothy Hatcher.
41871
41872        Web Inspector: use dejavu sans mono 11px on linux.
41873
41874        https://bugs.webkit.org/show_bug.cgi?id=35527
41875
41876        * inspector/front-end/inspector.css:
41877
418782010-03-01  Thatcher Ulrich  <tulrich@google.com>
41879
41880        Reviewed by Darin Fisher.
41881
41882        Fix chromium iframe shims.  Add another test case to the
41883        iframes-shims test.  After r53637, the plugin widget doesn't get
41884        moved every paint.  This used to hide the bug that if an iframe
41885        gets added, the plugin's cutout rectangles don't get updated until
41886        a layout happens.
41887        https://bugs.webkit.org/show_bug.cgi?id=35184
41888
41889        * platform/Widget.h:
41890        (WebCore::Widget::widgetPositionsUpdated): new virtual method
41891            widgetPositionsUpdated() to notify widgets when other widgets on
41892            the page have been repositioned.
41893        * rendering/RenderView.cpp:
41894        (WebCore::RenderView::updateWidgetPositions): call widgetPositionsUpdated() on the widgets
41895        * rendering/RenderWidget.cpp:
41896        (WebCore::RenderWidget::widgetPositionsUpdated): call widgetPositionsUpdated() on the widget
41897        * rendering/RenderWidget.h:
41898
418992010-03-01  Fridrich Strba  <fridrich.strba@bluewin.ch>
41900
41901        Reviewed by Holger Freyther.
41902
41903        Dist some mathml related files
41904
41905        * GNUmakefile.am:
41906
419072010-03-01  Kenneth Russell  <kbr@google.com>
41908
41909        Reviewed by Oliver Hunt.
41910
41911        Integer overflow in WebGL arrays
41912        https://bugs.webkit.org/show_bug.cgi?id=35241
41913
41914        Test: fast/canvas/webgl/webgl-array-invalid-ranges.html
41915
41916        * bindings/js/JSWebGLArrayBufferConstructor.cpp:
41917        (WebCore::constructCanvasArrayBuffer):
41918        * bindings/js/JSWebGLArrayBufferConstructor.h:
41919        (WebCore::construct):
41920        * bindings/js/JSWebGLArrayHelper.h:
41921        (WebCore::setWebGLArrayFromArray):
41922        * bindings/js/JSWebGLByteArrayConstructor.cpp:
41923        (WebCore::constructCanvasByteArray):
41924        * bindings/js/JSWebGLFloatArrayConstructor.cpp:
41925        (WebCore::constructCanvasFloatArray):
41926        * bindings/js/JSWebGLIntArrayConstructor.cpp:
41927        (WebCore::constructCanvasIntArray):
41928        * bindings/js/JSWebGLShortArrayConstructor.cpp:
41929        (WebCore::constructCanvasShortArray):
41930        * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp:
41931        (WebCore::constructCanvasUnsignedByteArray):
41932        * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp:
41933        (WebCore::constructCanvasUnsignedIntArray):
41934        * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp:
41935        (WebCore::constructCanvasUnsignedShortArray):
41936        * bindings/v8/V8Binding.cpp:
41937        (WebCore::toUInt32):
41938        * bindings/v8/V8Binding.h:
41939        (WebCore::toUInt32):
41940        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
41941        (WebCore::V8WebGLArrayBuffer::constructorCallback):
41942        * bindings/v8/custom/V8WebGLArrayCustom.h:
41943        (WebCore::constructWebGLArray):
41944        (WebCore::getWebGLArrayElement):
41945        (WebCore::setWebGLArrayFromArray):
41946        (WebCore::setWebGLArray):
41947        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
41948        (WebCore::V8WebGLByteArray::constructorCallback):
41949        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
41950        (WebCore::V8WebGLFloatArray::constructorCallback):
41951        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
41952        (WebCore::V8WebGLIntArray::constructorCallback):
41953        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
41954        (WebCore::V8WebGLShortArray::constructorCallback):
41955        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
41956        (WebCore::V8WebGLUnsignedByteArray::constructorCallback):
41957        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
41958        (WebCore::V8WebGLUnsignedIntArray::constructorCallback):
41959        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
41960        (WebCore::V8WebGLUnsignedShortArray::constructorCallback):
41961        * html/canvas/WebGLArray.cpp:
41962        (WebCore::WebGLArray::setImpl):
41963        * html/canvas/WebGLArray.h:
41964        (WebCore::WebGLArray::verifySubRange):
41965        (WebCore::WebGLArray::clampOffsetAndNumElements):
41966        * html/canvas/WebGLArrayBuffer.cpp:
41967        (WebCore::WebGLArrayBuffer::create):
41968        (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
41969        (WebCore::WebGLArrayBuffer::tryAllocate):
41970        * html/canvas/WebGLArrayBuffer.h:
41971        * html/canvas/WebGLByteArray.cpp:
41972        (WebCore::WebGLByteArray::create):
41973        (WebCore::WebGLByteArray::WebGLByteArray):
41974        (WebCore::WebGLByteArray::slice):
41975        * html/canvas/WebGLByteArray.h:
41976        * html/canvas/WebGLFloatArray.cpp:
41977        (WebCore::WebGLFloatArray::create):
41978        (WebCore::WebGLFloatArray::WebGLFloatArray):
41979        (WebCore::WebGLFloatArray::slice):
41980        * html/canvas/WebGLFloatArray.h:
41981        * html/canvas/WebGLIntArray.cpp:
41982        (WebCore::WebGLIntArray::create):
41983        (WebCore::WebGLIntArray::WebGLIntArray):
41984        (WebCore::WebGLIntArray::slice):
41985        * html/canvas/WebGLIntArray.h:
41986        * html/canvas/WebGLShortArray.cpp:
41987        (WebCore::WebGLShortArray::create):
41988        (WebCore::WebGLShortArray::WebGLShortArray):
41989        (WebCore::WebGLShortArray::slice):
41990        * html/canvas/WebGLShortArray.h:
41991        * html/canvas/WebGLUnsignedByteArray.cpp:
41992        (WebCore::WebGLUnsignedByteArray::create):
41993        (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
41994        (WebCore::WebGLUnsignedByteArray::slice):
41995        * html/canvas/WebGLUnsignedByteArray.h:
41996        * html/canvas/WebGLUnsignedIntArray.cpp:
41997        (WebCore::WebGLUnsignedIntArray::create):
41998        (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
41999        (WebCore::WebGLUnsignedIntArray::slice):
42000        * html/canvas/WebGLUnsignedIntArray.h:
42001        * html/canvas/WebGLUnsignedShortArray.cpp:
42002        (WebCore::WebGLUnsignedShortArray::create):
42003        (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
42004        (WebCore::WebGLUnsignedShortArray::slice):
42005        * html/canvas/WebGLUnsignedShortArray.h:
42006
420072010-03-01  Brady Eidson  <beidson@apple.com>
42008
42009        Reviewed by Sam Weinig.
42010
42011        REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
42012        <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532
42013
42014        Test: fast/loader/api-test-go-to-current-back-forward-item.html
42015
42016        * loader/FrameLoader.cpp:
42017        (WebCore::FrameLoader::loadItem): If the current item is the same as the target item, don't
42018          consider this to be a same document navigation.
42019
42020        * page/Page.cpp:
42021        (WebCore::Page::goToItem): Hard code the "going to the same item as the current item" relationship
42022          as a precondition for stopping all loaders, as that will be a new document load.
42023
420242010-03-01  Robert Hogan  <robert@webkit.org>
42025
42026        Reviewed by nobody, build fix.
42027
42028        Fix --minimal build. Add ENABLE(DATABASE) as compile time condition
42029        for building file GeolocationPositionCache.cpp.
42030
42031        * page/GeolocationPositionCache.cpp:
42032
420332010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
42034
42035        Reviewed by Dirk Schulze.
42036
42037        [OpenVG] Implement support for paths
42038        https://bugs.webkit.org/show_bug.cgi?id=34366
42039
42040        Adds an implementation of the Path class -
42041        *almost* complete, but not quite because OpenVG
42042        does not provide access to the points in a VGPath
42043        unless one keeps track of all the points by
42044        themselves, which we decided not to do.
42045
42046        Also hooked up to PainterOpenVG and GraphicsContext.
42047
42048        Further introduced is SharedResourceOpenVG, which is
42049        intended as base class for paths and other OpenVG
42050        resources (images, fonts) that WebKit creates as
42051        long-lived objects. We are at a slight disadvantage
42052        here as WebKit doesn't have the concept of resources
42053        belonging to a specific (hardware graphics) context,
42054        which is the reason why EGLDisplayOpenVG had to
42055        provide a current display singleton; this class is
42056        what actually requires that functionality.
42057
42058        Path::addArcTo() uses code by Yong Li <yoli@rim.com>.
42059
42060        * platform/graphics/Path.cpp:
42061        * platform/graphics/Path.h:
42062        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
42063        (WebCore::GraphicsContext::fillPath):
42064        (WebCore::GraphicsContext::strokePath):
42065        (WebCore::GraphicsContext::drawPath):
42066        (WebCore::GraphicsContext::beginPath):
42067        (WebCore::GraphicsContext::addPath):
42068        * platform/graphics/openvg/PainterOpenVG.cpp:
42069        (WebCore::PainterOpenVG::PainterOpenVG):
42070        (WebCore::PainterOpenVG::~PainterOpenVG):
42071        (WebCore::PainterOpenVG::transformPath):
42072        (WebCore::PainterOpenVG::beginPath):
42073        (WebCore::PainterOpenVG::addPath):
42074        (WebCore::PainterOpenVG::currentPath):
42075        (WebCore::PainterOpenVG::drawPath):
42076        * platform/graphics/openvg/PainterOpenVG.h:
42077        * platform/graphics/openvg/PathOpenVG.cpp: Added.
42078        (WebCore::PlatformPathOpenVG::PlatformPathOpenVG):
42079        (WebCore::PlatformPathOpenVG::operator=):
42080        (WebCore::PlatformPathOpenVG::~PlatformPathOpenVG):
42081        (WebCore::PlatformPathOpenVG::clear):
42082        (WebCore::PlatformPathOpenVG::createPath):
42083        (WebCore::Path::Path):
42084        (WebCore::Path::~Path):
42085        (WebCore::Path::operator=):
42086        (WebCore::Path::contains):
42087        (WebCore::Path::strokeContains):
42088        (WebCore::Path::translate):
42089        (WebCore::Path::boundingRect):
42090        (WebCore::Path::strokeBoundingRect):
42091        (WebCore::Path::moveTo):
42092        (WebCore::Path::addLineTo):
42093        (WebCore::Path::addQuadCurveTo):
42094        (WebCore::Path::addBezierCurveTo):
42095        (WebCore::Path::addArcTo):
42096        (WebCore::Path::closeSubpath):
42097        (WebCore::Path::addArc):
42098        (WebCore::Path::addRect):
42099        (WebCore::Path::addEllipse):
42100        (WebCore::Path::clear):
42101        (WebCore::Path::isEmpty):
42102        (WebCore::Path::hasCurrentPoint):
42103        (WebCore::Path::debugString):
42104        (WebCore::Path::apply):
42105        (WebCore::Path::transform):
42106        (WebCore::Path::length):
42107        (WebCore::Path::pointAtLength):
42108        (WebCore::Path::normalAngleAtLength):
42109        * platform/graphics/openvg/PlatformPathOpenVG.h: Added.
42110        (WebCore::PlatformPathOpenVG::vgPath):
42111        * platform/graphics/openvg/SharedResourceOpenVG.cpp: Added.
42112        (WebCore::SharedResourceOpenVG::makeSharedContextCurrent):
42113        (WebCore::SharedResourceOpenVG::makeCompatibleContextCurrent):
42114        * platform/graphics/openvg/SharedResourceOpenVG.h: Added.
42115
421162010-03-01  Pavel Feldman  <pfeldman@chromium.org>
42117
42118        Not reviewed, bring English.lproj/locallizedStrings.js back to binary (UTF) mode.
42119
42120        * English.lproj/localizedStrings.js:
42121
421222010-03-01  Jakob Petsovits  <jpetsovits@rim.com>
42123
42124        Reviewed by Nikolas Zimmermann.
42125
42126        [OpenVG] Convert from TransformationMatrix to AffineTransform.
42127        https://bugs.webkit.org/show_bug.cgi?id=35445
42128
42129        Dirk Schulze previously introduced AffineTransform as
42130        replacement for most TransformationMatrix occurrences
42131        in GraphicsContext & Co., but did not update the OpenVG
42132        graphics backend as there's no publicly available way
42133        to build it. This commit now takes care of that.
42134
42135        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
42136        (WebCore::GraphicsContext::getCTM):
42137        (WebCore::GraphicsContext::roundToDevicePixels):
42138        (WebCore::GraphicsContext::origin):
42139        (WebCore::GraphicsContext::concatCTM):
42140        * platform/graphics/openvg/PainterOpenVG.cpp:
42141        (WebCore::isNonRotatedAffineTransformation):
42142        (WebCore::PlatformPainterState::PlatformPainterState):
42143        (WebCore::PlatformPainterState::applyState):
42144        (WebCore::PlatformPainterState::applyTransformation):
42145        (WebCore::PainterOpenVG::transformation):
42146        (WebCore::PainterOpenVG::concatTransformation):
42147        (WebCore::PainterOpenVG::setTransformation):
42148        (WebCore::PainterOpenVG::scale):
42149        (WebCore::PainterOpenVG::rotate):
42150        (WebCore::PainterOpenVG::translate):
42151        (WebCore::PainterOpenVG::intersectClipRect):
42152        * platform/graphics/openvg/PainterOpenVG.h:
42153        * platform/graphics/openvg/VGUtils.cpp:
42154        (WebCore::VGMatrix::VGMatrix):
42155        (WebCore::VGMatrix::operator AffineTransform):
42156        (WebCore::VGMatrix::operator TransformationMatrix):
42157        (WebCore::AffineTransform::operator VGMatrix):
42158        * platform/graphics/openvg/VGUtils.h:
42159        * platform/graphics/transforms/AffineTransform.h:
42160
421612010-03-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42162
42163        Reviewed by Simon Hausmann.
42164
42165        [Qt] Fix segfault when drawing NPAPI plugins on Mac
42166
42167        Don't try to get a contexctRef for a null-pixmap. If the pixmap
42168        size is 0,0 the private pixmap data has not yet been initialized.
42169
42170        * plugins/mac/PluginViewMac.cpp:
42171
421722010-03-01  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
42173
42174        Reviewed by Simon Hausmann.
42175
42176        Fix the Qt build on Mac OS X/Cocoa 64-bit
42177
42178        Use the proper event/drawing-model guards instead of global 64-bit
42179        guard for the NPAPI plugin implementation (view and package).
42180
42181        * plugins/mac/PluginPackageMac.cpp: Change guards and fix warning
42182        * plugins/mac/PluginViewMac.cpp: Remove 64-bit guard
42183
421842010-02-27  Pavel Feldman  <pfeldman@chromium.org>
42185
42186        Reviewed by Timothy Hatcher.
42187
42188        Web Inspector: disable breakpoint upon Shift-click.
42189
42190        https://bugs.webkit.org/show_bug.cgi?id=35477
42191
42192        * inspector/front-end/ConsoleView.js:
42193        (WebInspector.ConsoleView.prototype._format):
42194        * inspector/front-end/SourceFrame.js:
42195        (WebInspector.SourceFrame.prototype._mouseDown):
42196        (WebInspector.SourceFrame.prototype._mouseMove):
42197        * inspector/front-end/textViewer.css:
42198
421992010-02-28  Alexey Proskuryakov  <ap@apple.com>
42200
42201        Reviewed by Dan Bernstein.
42202
42203        https://bugs.webkit.org/show_bug.cgi?id=35496
42204        <rdar://problem/7663444> Opening newsweek.com and youtube.com has become very slow in debug builds
42205
42206        * css/CSSStyleSelector.cpp:
42207        (WebCore::CSSRuleSet::getIDRules):
42208        (WebCore::CSSRuleSet::getClassRules):
42209        (WebCore::CSSRuleSet::getTagRules):
42210        Removed consistency checks, as they affect performance too much in this case.
42211
422122010-02-28  Robert Hogan  <robert@roberthogan.net>
42213
42214        Reviewed by Simon Hausmann.
42215
42216        [Qt] Support private browsing mode in plugins
42217
42218        Add support for NPNVprivateModeBool property in plugins.
42219
42220        See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins
42221
42222        The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled
42223        in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled
42224        property implemented in the test plugin. This allows the Layout test
42225        plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool
42226        in the test plugin. Due to the platform-specific overhead required to support this bespoke
42227        property it is not implemented as part of this patch, instead a new test,
42228        plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting
42229        privateBrowsingEnabled works as expected.
42230
42231        http://bugs.webkit.org/show_bug.cgi?id=33180
42232
42233        Test: plugins/private-browsing-mode-2.html
42234
42235        * plugins/qt/PluginViewQt.cpp:
42236        (WebCore::PluginView::getValue):
42237
42238
422392010-02-27  Joseph Pecoraro  <joepeck@webkit.org>
42240
42241        Reviewed by Timothy Hatcher.
42242
42243        Web Inspector shouldn't show a white color box for "-webkit-line-break: after-white-space"
42244        https://bugs.webkit.org/show_bug.cgi?id=33478
42245
42246        * inspector/front-end/StylesSidebarPane.js:
42247
422482010-02-27  Dan Bernstein  <mitz@apple.com>
42249
42250        Reviewed by Maciej Stachowiak.
42251
42252        <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
42253        https://bugs.webkit.org/show_bug.cgi?id=35475
42254
42255        Test: fast/css/user-drag-none.html
42256
42257        * page/DragController.cpp:
42258        (WebCore::DragController::mayStartDragAtEventLocation): Added a node
42259        parameter. The image drag check is done against the node, rather than
42260        than against the hit test result. This prevents a non-draggable image
42261        with an auto-draggable ancestor from being dragged alone. The link drag
42262        check now ignores links that are -webkit-user-drag: none.
42263        * page/DragController.h:
42264        * page/EventHandler.cpp:
42265        (WebCore::EventHandler::shouldDragAutoNode): Pass the current node
42266        to mayStartDragAtEventLocation().
42267
422682010-02-27  Pavel Feldman  <pfeldman@chromium.org>
42269
42270        Reviewed by Timothy Hatcher.
42271
42272        Web Inspector: REGRESSION: hangs when scrolling in Resource pane.
42273
42274        https://bugs.webkit.org/show_bug.cgi?id=35216
42275
42276        * inspector/front-end/TextEditorHighlighter.js:
42277        (WebInspector.TextEditorHighlighter):
42278        (WebInspector.TextEditorHighlighter.prototype.highlight):
42279        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
42280        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
42281
422822010-02-27  Xan Lopez  <xlopez@igalia.com>
42283
42284        Reviewed by Gustavo Noronha.
42285
42286        Abort XEmbed plugin initialization if our parent is not anchored
42287        in a widget hierarchy. This can happen when the browser window is
42288        destroyed while the plugin is being loaded, and will lead to a
42289        crash.
42290
42291        * plugins/gtk/PluginViewGtk.cpp:
42292        (WebCore::PluginView::platformStart):
42293
422942010-02-26  Pavel Feldman  <pfeldman@chromium.org>
42295
42296        Reviewed by Timothy Hatcher.
42297
42298        Web Inspector: reload inspected page on Cmd+R / Ctrl+R / F5 key event in inspector.
42299        Drive-by fix for couple of minor front-end problems.
42300
42301        https://bugs.webkit.org/show_bug.cgi?id=35434
42302
42303        * inspector/InspectorBackend.cpp:
42304        (WebCore::InspectorBackend::reloadPage):
42305        * inspector/InspectorBackend.h:
42306        * inspector/InspectorBackend.idl:
42307        * inspector/InspectorController.cpp:
42308        (WebCore::InspectorController::didFinishLoading):
42309        (WebCore::InspectorController::didFailLoading):
42310        * inspector/front-end/InspectorBackendStub.js:
42311        (.WebInspector.InspectorBackendStub.prototype.reloadPage):
42312        * inspector/front-end/InspectorFrontendHostStub.js:
42313        (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
42314        (.WebInspector.InspectorFrontendHostStub.prototype.canAttachWindow):
42315        * inspector/front-end/TextViewer.js:
42316        (WebInspector.TextViewer.prototype._paintLine):
42317        * inspector/front-end/inspector.js:
42318        (WebInspector.documentKeyDown):
42319        (WebInspector.toggleAttach):
42320
423212010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42322
42323        Reviewed by Kenneth Rohde Christiansen.
42324
42325        Add EFL port files to platform/efl.
42326        http://webkit.org/b/35087
42327
42328        * platform/efl/ScrollbarEfl.cpp: Added.
42329        * platform/efl/EventLoopEfl.cpp: Added.
42330        * platform/efl/PlatformKeyboardEventEfl.cpp: Added.
42331        * platform/efl/DragImageEfl.cpp: Added.
42332        * platform/efl/PlatformMouseEventEfl.cpp: Added.
42333
423342010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42335
42336        Reviewed by Kenneth Rohde Christiansen.
42337
42338        Add EFL port files to platform/efl.
42339        http://webkit.org/b/35087
42340
42341        * platform/efl/CursorEfl.cpp: Added.
42342        * platform/efl/LocalizedStringsEfl.cpp: Added.
42343        * platform/efl/SearchPopupMenuEfl.cpp: Added.
42344
423452010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42346
42347        Reviewed by Kenneth Rohde Christiansen.
42348
42349        Add EFL port files to page/efl.
42350        http://webkit.org/b/35087
42351
42352        * WebCore/page/efl/DragControllerEfl.cpp: Added.
42353        * WebCore/page/efl/FrameEfl.cpp: Added.
42354        * WebCore/page/efl/AccessibilityObjectEfl.cpp: Added.
42355        * WebCore/page/efl/EventHandlerEfl.cpp: Added.
42356
423572010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42358
42359        Reviewed by Kenneth Rohde Christiansen.
42360
42361        Add EFL port files to platform/efl.
42362        http://webkit.org/b/35087
42363
42364        * WebCore/platform/efl/LoggingEfl.cpp: Added.
42365        * WebCore/platform/efl/ScrollbarThemeEfl.cpp: Added.
42366        * WebCore/platform/efl/TemporaryLinkStubs.cpp: Added.
42367        * WebCore/platform/efl/ScrollViewEfl.cpp: Added.
42368        * WebCore/platform/efl/SharedBufferEfl.cpp: Added.
42369        * WebCore/platform/efl/DragDataEfl.cpp: Added.
42370
423712010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42372
42373        Reviewed by Kenneth Rohde Christiansen.
42374
42375        Add EFL port files to platform/efl.
42376        http://webkit.org/b/35087
42377
42378        * WebCore/platform/efl/RenderThemeEfl.cpp: Added.
42379
423802010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42381
42382        Reviewed by Kenneth Rohde Christiansen.
42383
42384        Add EFL port files to platform/efl.
42385        http://webkit.org/b/35087
42386
42387        * WebCore/platform/efl/PlatformWheelEventEfl.cpp: Added.
42388        * WebCore/platform/efl/FileChooserEfl.cpp: Added.
42389        * WebCore/platform/efl/ContextMenuEfl.cpp: Added.
42390        * WebCore/platform/efl/PlatformScreenEfl.cpp: Added.
42391        * WebCore/platform/efl/WidgetEfl.cpp: Added.
42392
423932010-02-26  Adam Barth  <abarth@webkit.org>
42394
42395        Reviewed by Darin Fisher.
42396
42397        Expose an API for ports to add schemes to the mixed content whitelist
42398        https://bugs.webkit.org/show_bug.cgi?id=35438
42399
42400        Add a notion of a "secure" scheme that doesn't trigger mixed content
42401        warnings.  Let folks register new secure schemes in the same way they
42402        can register "local" schemes.
42403
42404        * loader/FrameLoader.cpp:
42405        (WebCore::FrameLoader::isMixedContent):
42406        * page/SecurityOrigin.cpp:
42407        (WebCore::secureSchemes):
42408        (WebCore::SecurityOrigin::registerURLSchemeAsSecure):
42409        (WebCore::SecurityOrigin::shouldTreatURLSchemeAsSecure):
42410        * page/SecurityOrigin.h:
42411
424122010-02-26  Noam Rosenthal  <noam.rosenthal@nokia.com>
42413
42414        Reviewed by Kenneth Rohde Christiansen.
42415
42416        [Qt] GraphicsLayerQt: artifacts and wrong transformOrigin
42417        This was due to wrong way of applying cache-mode and transformation
42418        on a graphics-item with HTML. Cache-mode should be updated
42419        when the content type updates, even if it was the same cache-mode
42420   
42421        https://bugs.webkit.org/show_bug.cgi?id=35382
42422
42423        Test URL attached to the bug now works correctly.
42424
42425        * platform/graphics/qt/GraphicsLayerQt.cpp:
42426        (WebCore::GraphicsLayerQtImpl::computeTransform):
42427        (WebCore::GraphicsLayerQtImpl::flushChanges):
42428
424292010-02-26  Luiz Agostini  <luiz.agostini@openbossa.org>
42430
42431        Reviewed by Kenneth Rohde Christiansen.
42432
42433        Qt/Mac: Revert null timer removal (r51105)
42434        https://bugs.webkit.org/show_bug.cgi?id=35396
42435
42436        r51105 removed the null timer event of the carbon event model. This however
42437        breaks the flash of many sites.        
42438
42439        Applying patch suggested by Girish Ramakrishnan in bug comment #1.
42440
42441        * plugins/PluginView.h:
42442        * plugins/mac/PluginViewMac.cpp:
42443        (WebCore::PluginView::platformStart):
42444        (WebCore::PluginView::handleMouseEvent):
42445        (WebCore::PluginView::nullEventTimerFired):
42446        (WebCore::PluginView::mousePosForPlugin):
42447
424482010-02-26  Noam Rosenthal  <noam.rosenthal@nokia.com>
42449
42450        Reviewed by Kenneth Rohde Christiansen.
42451
42452        [Qt] Compile error with 3d-canvas
42453        Replaced a direct gl call with a getProcAddress call
42454        https://bugs.webkit.org/show_bug.cgi?id=35448
42455
42456        No new tests.
42457
42458        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42459        (WebCore::GraphicsContext3D::blendColor):
42460
424612010-02-26  Kwang Yul Seo  <skyul@company100.net>
42462
42463        Reviewed by Kenneth Rohde Christiansen.
42464
42465        [BREWMP] Port EventHandler
42466        https://bugs.webkit.org/show_bug.cgi?id=34796
42467
42468        Add platform-specific code required to implement EventHandler.
42469
42470        * page/brew/EventHandlerBrew.cpp: Added.
42471        (WebCore::EventHandler::tabsToAllControls):
42472        (WebCore::EventHandler::focusDocumentView):
42473        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
42474        (WebCore::EventHandler::passMouseDownEventToWidget):
42475        (WebCore::EventHandler::eventActivatedView):
42476        (WebCore::EventHandler::passSubframeEventToSubframe):
42477        (WebCore::EventHandler::passWheelEventToWidget):
42478        (WebCore::EventHandler::passMousePressEventToSubframe):
42479        (WebCore::EventHandler::passMouseMoveEventToSubframe):
42480        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
42481        (WebCore::EventHandler::accessKeyModifiers):
42482
424832010-02-26  Leandro Pereira  <leandro@profusion.mobi>
42484
42485        Reviewed by Kenneth Rohde Christiansen.
42486
42487        Add EFL port files to platform/efl.
42488        http://webkit.org/b/35087
42489
42490        * WebCore/platform/efl/ClipboardEfl.cpp: Added.
42491        * WebCore/platform/efl/PopupMenuEfl.cpp: Added.
42492        * WebCore/platform/efl/SharedTimerEfl.cpp: Added.
42493        * WebCore/platform/efl/RenderThemeEfl.h: Added.
42494        * WebCore/platform/efl/Language.cpp: Added.
42495        * WebCore/platform/efl/CookieJarEfl.cpp: Added.
42496        * WebCore/platform/efl/MIMETypeRegistryEfl.cpp: Added.
42497
424982010-02-26  Robert Kroeger  <rjkroege@chromium.org>
42499
42500        Reviewed by Nate Chapin
42501
42502        To fire each event handler registered on an SVG node once per
42503        event, Chromium needs an implementation of wasCreatedFromMarkup
42504        added to V8LazyEventListener.h that matches the one in
42505        WebKit/WebCore/bindings/js/JSLazyEventListener.h.
42506        
42507        This patch adds such a matching implementation of wasCreatedFromMarkup
42508        to V8LazyEventListener.h.
42509        
42510        https://bugs.webkit.org/show_bug.cgi?id=35325
42511
42512        * bindings/v8/V8LazyEventListener.h:
42513        (WebCore::V8LazyEventListener::wasCreatedFromMarkup):
42514
425152010-02-26  Arno Renevier  <arno@renevier.net>
42516
42517        Reviewed by Gustavo Noronha Silva.
42518
42519        [Gtk] use geoclue_position_get_position_async to get geolocation position.
42520        https://bugs.webkit.org/show_bug.cgi?id=35355
42521
42522        No new tests, behaviour depends on system.
42523
42524        * platform/gtk/GeolocationServiceGtk.cpp:
42525        (WebCore::GeolocationServiceGtk::startUpdating):
42526        (WebCore::GeolocationServiceGtk::get_position):
42527        * platform/gtk/GeolocationServiceGtk.h:
42528
425292010-02-26  Yaar Schnitman  <yaar@chromium.org>
42530
42531        Chromium Win build fix.
42532
42533        * WebCore.gyp/WebCore.gyp: Added missing file to action input.
42534
425352010-02-12  Brett Wilson  <brettw@chromium.org>
42536
42537        Reviewed by Adam Barth.
42538
42539        Update the Google-URL version of KURL and the V8 bindings to the new
42540        behavior of KURL.IsStandard.
42541
42542        https://bugs.webkit.org/show_bug.cgi?id=34859
42543
42544        This is covered by fast/dom/Window/invalid-protocol.html
42545
42546        * bindings/v8/custom/V8LocationCustom.cpp:
42547        (WebCore::V8Location::protocolAccessorSetter):
42548        * platform/KURLGoogle.cpp:
42549        (WebCore::KURL::setProtocol):
42550        (WebCore::KURL::isHierarchical):
42551
425522010-02-26  Gavin Barraclough  <barraclough@apple.com>
42553
42554        Reviewed by NOBODY (Build fix following r55312).
42555
42556        * bridge/qt/qt_pixmapruntime.cpp:
42557        (JSC::Bindings::QtPixmapInstance::invokeMethod):
42558
425592010-02-26  Yaar Schnitman  <yaar@chromium.org>
42560
42561        Reviewed by Dimitri Glazkov.
42562
42563        [V8] Auto-generate and split DerivedSourcesAllInOne.cpp
42564        https://bugs.webkit.org/show_bug.cgi?id=33048
42565
42566        * WebCore.gyp/WebCore.gyp:
42567        * WebCore.gyp/scripts/action_derivedsourcesallinone.py: Added.
42568        * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
42569
425702010-02-26  Gavin Barraclough  <barraclough@apple.com>
42571
42572        Reviewed by NOBODY (Build fix following r55312).
42573
42574        * bridge/qt/qt_pixmapruntime.cpp:
42575        (JSC::Bindings::QtPixmapInstance::invokeMethod):
42576
425772010-02-26  Alexey Proskuryakov  <ap@apple.com>
42578
42579        Reviewed by Anders Carlsson.
42580
42581        https://bugs.webkit.org/show_bug.cgi?id=35450
42582        Crash when a Java array property accessor raises an exception
42583
42584        Test: java/inaccessible-class.html
42585
42586        * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaField::valueFromInstance): Check if the result
42587        is null before interpreting it as an object or array.
42588
425892010-02-26  Dirk Schulze  <krit@webkit.org>
42590
42591        Reviewed by Nikolas Zimmermann.
42592
42593        Extend AffineTransform to mapQuad
42594        https://bugs.webkit.org/show_bug.cgi?id=35444
42595
42596        This makes mapQuad available for AffineTransform. So that platforms
42597        can make use of it after the switch from TransformationMatrix to
42598        AffineTransform in GraphicsContext.
42599
42600        * platform/graphics/transforms/AffineTransform.cpp:
42601        (WebCore::AffineTransform::mapRect): mapRect already did the calculation for mapQuad but gave back the
42602                                             boundingBox of the resulting FloatQuad.
42603        (WebCore::AffineTransform::mapQuad):
42604        * platform/graphics/transforms/AffineTransform.h:
42605
426062010-02-26  Brady Eidson  <beidson@apple.com>
42607
42608        Reviewed by Pavel Feldman.
42609
42610        Arrow keys do not scroll source view in Resources pane or Scripts pane.
42611        <rdar://problem/7594367> and https://bugs.webkit.org/show_bug.cgi?id=34356
42612
42613        Handle vertical scrolling in the Text Viewer:
42614        * inspector/front-end/TextViewer.js:
42615        (WebInspector.TextViewer): Listen for the keydown event.
42616        (WebInspector.TextViewer.prototype._handleKeyDown): If the event has no modifiers and refers
42617          to an arrow key, scroll. The horizontal values were ripped from the default "pixels per scroll line"
42618          value in ScrollBar.h.
42619
426202010-02-26  Gavin Barraclough  <barraclough@apple.com>
42621
42622        Reviewed by Alexey Proskuryakov.
42623
42624        Bug 35401 - Fix handling of errors in handling calls over bridge,
42625        where base object bridge-type does not match method bridge-type.
42626
42627        The code assumes users will only attempt to invoke a Java method
42628        on a Java base object, etc.
42629        Add language specific subclasses of RuntimeMethod, and pass the
42630        RuntimeMethod into invokeMethod, so we can typecheck before
42631        casting.  Throw an exception on type mismatch.
42632
42633        * WebCore.base.exp:
42634        * WebCore.xcodeproj/project.pbxproj:
42635        * bridge/c/c_instance.cpp:
42636        (JSC::Bindings::CRuntimeMethod::CRuntimeMethod):new class to distinguish this type of RuntimeMethod.
42637        (JSC::Bindings::CInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42638        (JSC::Bindings::CInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42639        * bridge/c/c_instance.h:
42640        * bridge/jni/jsc/JavaInstanceJSC.cpp:
42641        (JavaRuntimeMethod::JavaRuntimeMethod): new class to distinguish this type of RuntimeMethod.
42642        (JavaInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42643        (JavaInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42644        * bridge/jni/jsc/JavaInstanceJSC.h:
42645        * bridge/jsc/BridgeJSC.h:
42646        * bridge/objc/objc_instance.h:
42647        * bridge/objc/objc_instance.mm:
42648        (ObjcRuntimeMethod::ObjcRuntimeMethod): new class to distinguish this type of RuntimeMethod.
42649        (ObjcInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
42650        (ObjcInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
42651        (ObjcInstance::invokeObjcMethod): new method, takes an ObjcMethod* as an argument so that we don't need to dynamically determine the type.
42652        * bridge/objc/objc_runtime.mm:
42653        (JSC::Bindings::callObjCFallbackObject): use new invokeObjcMethod method.
42654        * bridge/runtime_method.cpp:
42655        (JSC::callRuntimeMethod): pass RuntimeMethod as argument to invokeMethod, rather than its MethodList.
42656        * bridge/runtime_object.cpp:
42657        (JSC::RuntimeObject::methodGetter): use new getMethod method.
42658
426592010-02-26  Oliver Hunt  <oliver@apple.com>
42660
42661        Reviewed by Geoff Garen.
42662
42663        Make the lookup table generator include an explicit cast to expected
42664        type of the function.  We do this because otherwise the blind intptr_t
42665        cast that is subsequently applied allows incorrectly typed functions
42666        to be inserted into the table, where they will only fail at runtime.
42667        This change makes such errors produce a compile time failure.
42668
42669        * WebCore.xcodeproj/project.pbxproj:
42670        * bindings/scripts/CodeGeneratorJS.pm:
42671
426722010-02-26  Alex Milowski  <alex@milowski.com>
42673
42674        Reviewed by Kenneth Rohde Christiansen.
42675
42676        Added basic support for the munder, munderover, and mover elements.
42677
42678        Tests: mathml/presentation/over.xhtml
42679               mathml/presentation/under.xhtml
42680               mathml/presentation/underover.xhtml
42681
42682        * WebCore.xcodeproj/project.pbxproj:
42683        * mathml/MathMLInlineContainerElement.cpp:
42684        (WebCore::MathMLInlineContainerElement::createRenderer):
42685        * mathml/RenderMathMLUnderOver.cpp: Added.
42686        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
42687        (WebCore::RenderMathMLUnderOver::addChild):
42688        (WebCore::getOffsetHeight):
42689        (WebCore::RenderMathMLUnderOver::stretchToHeight):
42690        (WebCore::RenderMathMLUnderOver::layout):
42691        (WebCore::RenderMathMLUnderOver::baselinePosition):
42692        (WebCore::RenderMathMLUnderOver::nonOperatorHeight):
42693        * mathml/RenderMathMLUnderOver.h: Added.
42694        (WebCore::RenderMathMLUnderOver::hasBase):
42695        (WebCore::RenderMathMLUnderOver::):
42696
426972010-02-24  Stephen White  <senorblanco@chromium.org>
42698
42699        Reviewed by Darin Adler.
42700
42701        This CL implements a simple ad-hoc parser for CSS rgb() values.
42702        If it fails, it returns false and the normal lex/yacc parser will
42703        be invoked.
42704        
42705        https://bugs.webkit.org/show_bug.cgi?id=35362
42706
42707        Covered by fast/canvas/canvas-bg.html, fast/canvas/canvas-bg-zoom.html,
42708        and many more.
42709
42710        * css/CSSParser.cpp:
42711        (WebCore::parseInt):
42712        (WebCore::CSSParser::parseColor):
42713
427142010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42715
42716        Reviewed by Kenneth Rohde Christiansen.
42717
42718        https://bugs.webkit.org/show_bug.cgi?id=35419
42719        3D canvas did not update when WTF_USE_ACCELERATED_COMPOSITING
42720        was enabled but not from run-time settings. Added run-time 
42721        check that compositing is enabled.
42722
42723        * html/canvas/WebGLRenderingContext.cpp:
42724        (WebCore::WebGLRenderingContext::markContextChanged):
42725
427262010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42727
42728        Reviewed by Kenneth Rohde Christiansen.
42729
42730        Compilation failed because functions glSampleCoverage, glBlendEquation
42731        and glActiveTexture were not available.
42732        https://bugs.webkit.org/show_bug.cgi?id=35423
42733
42734        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42735        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
42736        (WebCore::GraphicsContext3D::activeTexture):
42737        (WebCore::GraphicsContext3D::blendEquation):
42738        (WebCore::GraphicsContext3D::sampleCoverage):
42739
427402010-02-26  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
42741 
42742         Reviewed by Kenneth Rohde Christiansen.
42743
42744         https://bugs.webkit.org/show_bug.cgi?id=35380
42745         Fixed compilation error when WTF_USE_ACCELERATED_COMPOSITING=0
42746 
42747         * css/MediaQueryEvaluator.cpp:
42748         (WebCore::transform_3dMediaFeatureEval):
42749
427502010-02-26  Nicholas Young  <nicholas.young@nokia.com>
42751
42752        Reviewed by Tor Arne Vestbø.
42753
42754        [Qt] Incorrect painting after a size changed.
42755        https://bugs.webkit.org/show_bug.cgi?id=35412
42756
42757        No new tests. Bug fix in backend.
42758
42759        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42760        (WebCore::MediaPlayerPrivate::paint): Provide the source rectangle, rather than inferring it.
42761
427622010-02-26  Nicholas Young  <nicholas.young@nokia.com>
42763
42764        Reviewed by Tor Arne Vestbø.
42765
42766        [Qt] Incorrect handling of MIME types in Media Player
42767        https://bugs.webkit.org/show_bug.cgi?id=35413
42768
42769        No new tests. Bug fix in backend.
42770
42771        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
42772        (WebCore::MediaPlayerPrivate::supportsType): Corrected logic.
42773
427742010-02-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
42775
42776        Reviewed by Xan Lopez.
42777
42778        https://bugs.webkit.org/show_bug.cgi?id=35418
42779        [Gtk] Every table, including layout tables, should be exposed as a table
42780
42781        This patch exposes layout tables as tables. (Addressing the problematic table
42782        hierarchy remains to be done.)
42783
42784        * accessibility/gtk/AccessibilityObjectAtk.cpp:
42785        (AccessibilityObject::accessibilityPlatformIncludesObject):
42786        * accessibility/AccessibilityRenderObject.cpp:
42787        (AccessibilityRenderObject::determineAccessibilityRole):
42788
427892010-02-26  Adam Barth  <abarth@webkit.org>
42790
42791        Reviewed by Darin Adler.
42792
42793        XSSAuditor is super super super slow
42794        https://bugs.webkit.org/show_bug.cgi?id=35373
42795
42796        In this patch, we separate the decoding cache for the page's URL and
42797        form data.  Previously, we used the same cache for both, which caused
42798        us miss the cache every time when the page had form data (because the
42799        cache only stored one entry).  When the form data is large, we were
42800        wasting a lot of time canonicalizing.
42801
42802        * page/XSSAuditor.cpp:
42803        (WebCore::XSSAuditor::findInRequest):
42804        * page/XSSAuditor.h:
42805
428062010-02-26  Dirk Schulze  <krit@webkit.org>
42807
42808        Reviewed by Nikolas Zimmermann.
42809
42810        SVGResourceClipper needs to be moved to RenderSVGResourceClipper
42811        https://bugs.webkit.org/show_bug.cgi?id=35421
42812
42813        Move SVGResourceClipper to RenderSVGResourceClipper. This follows the changes
42814        of Masker and helps to clean up the SVG code. Code snippets from SVGClipPathElement
42815        and SVGResourceClipper got combined in RenderSVGResourceClipper. DRT results are
42816        more readable for clipPath's now. It's possible to see the unit type of clipper, as
42817        well as it's childs instead of just one path.
42818
42819        * Android.mk:
42820        * GNUmakefile.am:
42821        * WebCore.vcproj/WebCore.vcproj:
42822        * WebCore.xcodeproj/project.pbxproj:
42823        * rendering/RenderSVGResource.h:
42824        (WebCore::):
42825        * rendering/RenderSVGResourceClipper.cpp: Added.
42826        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
42827        (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper):
42828        (WebCore::RenderSVGResourceClipper::invalidateClients):
42829        (WebCore::RenderSVGResourceClipper::invalidateClient):
42830        (WebCore::RenderSVGResourceClipper::applyResource):
42831        (WebCore::RenderSVGResourceClipper::resourceBoundingBox):
42832        * rendering/RenderSVGResourceClipper.h: Added.
42833        (WebCore::RenderSVGResourceClipper::renderName):
42834        (WebCore::RenderSVGResourceClipper::resourceType):
42835        (WebCore::RenderSVGResourceClipper::clipPathUnits):
42836        * rendering/SVGRenderSupport.cpp:
42837        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
42838        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
42839        (WebCore::SVGRenderBase::deregisterFromResources):
42840        * rendering/SVGRenderTreeAsText.cpp:
42841        (WebCore::operator<<):
42842        (WebCore::writeStyle):
42843        (WebCore::writeSVGResource):
42844        (WebCore::writeResources):
42845        * svg/SVGClipPathElement.cpp:
42846        (WebCore::SVGClipPathElement::svgAttributeChanged):
42847        (WebCore::SVGClipPathElement::childrenChanged):
42848        (WebCore::SVGClipPathElement::createRenderer):
42849        * svg/SVGClipPathElement.h:
42850        (WebCore::SVGClipPathElement::isValid):
42851        * svg/SVGStyledElement.cpp:
42852        (WebCore::SVGStyledElement::invalidateResources):
42853        * svg/graphics/SVGResource.h:
42854        (WebCore::):
42855        (WebCore::SVGResource::isPaintServer):
42856        (WebCore::SVGResource::isFilter):
42857        (WebCore::SVGResource::isMarker):
42858        * svg/graphics/SVGResourceClipper.cpp: Removed.
42859        * svg/graphics/SVGResourceClipper.h: Removed.
42860
428612010-02-26  Ben Murdoch  <benm@google.com>
42862
42863        Reviewed by Kenneth Rohde Christiansen.
42864
42865        The element that a touchevent is dispatched to isn't always right
42866        https://bugs.webkit.org/show_bug.cgi?id=35431
42867
42868        The element that touch events are dispatched on is not always the
42869        correct one, as the cached m_touchEventTarget member is only updated
42870        when the first element of the PlatformTouchEvent touch list is in the
42871        TouchPressed state.
42872
42873        This patch changes this behavior to dispatch the event to the target
42874        of the touch that caused the event to be generated and eliminates the
42875        m_touchEventTarget in favour of using the touch target hashmap. It also
42876        simplifies the way in which the touchTargets list is generated as we
42877        no longer have m_touchEventTarget (which was used previously to build
42878        the list). The new behavior matches the observed behavior of the
42879        iPhone and Android.
42880
42881        * page/EventHandler.cpp:
42882        (WebCore::assembleTargetTouches): Added. new function to build the
42883            targetTouches list. Filters a list of touches (passed) about
42884            another given touch.
42885        (WebCore::EventHandler::handleTouchEvent): Remove the
42886            m_touchEventTarget member, and simplify the generation of the
42887            TouchLists that are bundled with the TouchEVent object. Dispatch
42888            the event to the target of the touch that caused the event to be
42889            fired.
42890        * page/EventHandler.h: Remove m_touchEventTarget.
42891
428922010-02-26  Dirk Pranke  <dpranke@chromium.org>
42893
42894        Reviewed by Darin Fisher.
42895
42896        Fix the handling of updates to #hash fragments to check for differences
42897        post-canonicalization rather than comparing pre- to post-. Chromium
42898        had a bug where we would set the #hash on an about:blank URL and generate
42899        an onload event because we thought the URL (not just the fragment) was
42900        changing.
42901
42902        http://bugs.webkit.org/show_bug.cgi?id=35180
42903
42904        Test: fast/loader/about-blank-hash-change.html
42905
42906        * bindings/v8/custom/V8LocationCustom.cpp:
42907        (WebCore::V8Location::hashAccessorSetter):
42908
429092010-02-26  Zhenyao Mo  <zmo@google.com>
42910
42911        Reviewed by David Levin.
42912
42913        texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
42914        https://bugs.webkit.org/show_bug.cgi?id=34459
42915
42916        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
42917
42918        * html/canvas/WebGLRenderingContext.cpp:
42919        (WebCore::WebGLRenderingContext::texImage2D): Apply flipY and premultiplyAlpha to the texture data.
42920        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
42921        * platform/graphics/GraphicsContext3D.cpp:
42922        (WebCore::GraphicsContext3D::extractImageData): Extract data from ImageData, applying flipY and premultiplyAlpha.
42923        * platform/graphics/GraphicsContext3D.h: Add function extractImageData declaration.
42924
429252010-02-26  Zhenyao Mo  <zmo@google.com>
42926
42927        Reviewed by David Levin.
42928
42929        Set viewport to canvas size upon context creation
42930        https://bugs.webkit.org/show_bug.cgi?id=35057
42931
42932        Covered by existing tests, in particular fast/canvas/webgl/gl-get-calls.html
42933
42934        * html/canvas/WebGLRenderingContext.cpp:
42935        (WebCore::WebGLRenderingContext::WebGLRenderingContext): Set the viewport size to match the canvas size.
42936
429372010-02-26  Pavel Feldman  <pfeldman@chromium.org>
42938
42939        Not reviewed: touch InspectorController to force front-end deployment.
42940
42941        * inspector/InspectorController.cpp:
42942
429432010-02-26  Ilya Tikhonovsky  <loislo@chromium.org>
42944
42945        Reviewed by Pavel Feldman.
42946
42947        WebInspector: While the current timeline view in DevTools provides a great overview of
42948        things happening, we should make it easier to locate the cause of an event,
42949        e.g., link to JS where relevant.
42950        Caller info support for all kind of Timeline events and new Function Call event will be added.
42951        JSC can be patched the same way as it will be done for V8.
42952
42953        https://bugs.webkit.org/show_bug.cgi?id=33995
42954
42955        * bindings/js/ScriptCallStack.cpp:
42956        (WebCore::ScriptCallStack::callLocation):
42957        * bindings/js/ScriptCallStack.h:
42958        * bindings/v8/ScriptCallStack.cpp:
42959        (WebCore::ScriptCallStack::create):
42960        (WebCore::ScriptCallStack::callLocation):
42961        * bindings/v8/ScriptCallStack.h:
42962        * bindings/v8/V8Proxy.cpp:
42963        (WebCore::V8Proxy::callFunction):
42964        * inspector/InspectorTimelineAgent.cpp:
42965        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
42966        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
42967        (WebCore::InspectorTimelineAgent::willCallFunction):
42968        (WebCore::InspectorTimelineAgent::didCallFunction):
42969        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
42970        * inspector/InspectorTimelineAgent.h:
42971        (WebCore::):
42972        (WebCore::InspectorTimelineAgent::instanceCount):
42973        * inspector/TimelineRecordFactory.cpp:
42974        (WebCore::TimelineRecordFactory::createGenericRecord):
42975        (WebCore::TimelineRecordFactory::createFunctionCallData):
42976        * inspector/TimelineRecordFactory.h:
42977        * inspector/front-end/Popover.js:
42978        (WebInspector.Popover.prototype.hideWhenClicked):
42979        (WebInspector.Popover.prototype._positionElement):
42980        * inspector/front-end/TimelineAgent.js:
42981        * inspector/front-end/TimelinePanel.js:
42982        (WebInspector.TimelinePanel):
42983        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
42984        (WebInspector.TimelinePanel.prototype._formatRecord):
42985        (WebInspector.TimelinePanel.prototype._getRecordDetails):
42986        (WebInspector.TimelinePanel.prototype.reset):
42987        (WebInspector.TimelinePanel.prototype._closeRecordDetails):
42988        (WebInspector.TimelinePanel.prototype._onScroll):
42989        (WebInspector.TimelinePanel.prototype._refresh):
42990        (WebInspector.TimelinePanel.prototype._refreshRecords):
42991        (WebInspector.TimelineRecordListRow):
42992        (WebInspector.TimelineRecordListRow.prototype.update):
42993        (WebInspector.TimelineRecordListRow.prototype._createCell):
42994        (WebInspector.TimelineRecordListRow.prototype._createRow):
42995        (WebInspector.TimelineRecordListRow.prototype._createLinkRow):
42996        (WebInspector.TimelineRecordListRow.prototype._generateBubbleContent):
42997        (WebInspector.TimelineRecordListRow.prototype._onClick):
42998        * inspector/front-end/WebKit.qrc:
42999        * inspector/front-end/inspector.js:
43000        (WebInspector.linkifyResourceAsNode):
43001
430022010-02-26  Csaba Osztrogonác  <ossy@webkit.org>
43003
43004        Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
43005        https://bugs.webkit.org/show_bug.cgi?id=30946
43006
43007        * editing/CompositeEditCommand.cpp:
43008        (WebCore::isWhitespace):
43009        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
43010        * editing/InsertTextCommand.cpp:
43011        (WebCore::InsertTextCommand::input):
43012        * editing/InsertTextCommand.h:
43013        * editing/htmlediting.cpp:
43014        * editing/htmlediting.h:
43015
430162010-02-25  Mark Rowe  <mrowe@apple.com>
43017
43018        Reviewed by Brady Eidson.
43019
43020        <rdar://problem/7688455> REGRESSION(r55205): Crash inside dispatchEventsOnWindowAndFocusedNode when clicking link from bookmarks view
43021
43022        Null-check the document's page to avoid dereferencing a null page.
43023
43024        No regression test is added as this appears to be dependent on an interaction with Safari's bookmarks view that is
43025        not testable from within DumpRenderTree.
43026
43027        * page/FocusController.cpp:
43028        (WebCore::dispatchEventsOnWindowAndFocusedNode):
43029
430302010-02-25  Oliver Hunt  <oliver@apple.com>
43031
43032        Reviewed by Simon Fraser.
43033
43034        Multiple repaints on apple.com
43035        https://bugs.webkit.org/show_bug.cgi?id=35409
43036
43037        apple.com was triggering the fast scaling path for background images due to
43038        repeated repaints as more content came in.  This occured due to a two problems
43039        in the logic to detect scaling.  The first is that the main context is flipped
43040        on mac so fails the identity or translation check.  We work around this by adding
43041        an function that allows the scaling for a flipped CTM.  The other problem was that
43042        we were looking at the destination rect size instead of the destination tile size
43043        when deciding if the size we were drawn at would cause scaling.
43044
43045        * platform/graphics/transforms/AffineTransform.h:
43046        (WebCore::AffineTransform::isIdentityOrTranslationOrFlipped):
43047        * rendering/RenderBoxModelObject.cpp:
43048        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
43049        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
43050
430512010-02-25  Enrica Casucci  <enrica@apple.com>
43052
43053        Reviewed by Adele Peterson.
43054
43055        Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
43056        https://bugs.webkit.org/show_bug.cgi?id=30946
43057        <rdar://problem/7639184>
43058
43059        Do text insertion and whitespace rebalancing around the insertion in one step so that there's only one layout.
43060        This patch was originally made by Justin Garcia.
43061        
43062        Test: editing/inserting/rebalance-whitespace-1.html
43063
43064        * editing/CompositeEditCommand.cpp:
43065        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): No behavior changes here,
43066        just pushed the code that determined the extent of whitespace surrounding a position
43067        to its own helper function.
43068        * editing/InsertTextCommand.cpp:
43069        (WebCore::InsertTextCommand::insertTextIntoNodeAndRebalanceWhitespace): Added.  Find 
43070        whitespace surrounding the insertion position, add the text to insert, rebalance that entire
43071        string, then insert it into the document.
43072        (WebCore::InsertTextCommand::input):
43073        * editing/InsertTextCommand.h:
43074        * editing/htmlediting.cpp:
43075        (WebCore::isWhitespace): Moved from CompositeEditCommand.cpp.
43076        (WebCore::extentOfWhitespaceForRebalancingAt): Moved code from rebalanceWhitespaceAt into this helper
43077        function.  Obtains the offset of the start and end of whitespace around a particular position.
43078        * editing/htmlediting.h:
43079
430802010-02-25  Alexey Proskuryakov  <ap@apple.com>
43081
43082        Reviewed by Anders Carlsson.
43083
43084        https://bugs.webkit.org/show_bug.cgi?id=35406
43085        <rdar://problem/6945502> Make generic array methods work with JavaArray
43086
43087        Test: java/array-sort.html
43088
43089        Made RuntimeArray inherit from JSArray, keeping the promise given in ClassInfo.
43090
43091        * bridge/runtime_array.cpp:
43092        (JSC::RuntimeArray::RuntimeArray):
43093        (JSC::RuntimeArray::~RuntimeArray):
43094        * bridge/runtime_array.h:
43095        (JSC::RuntimeArray::classInfo):
43096        (JSC::RuntimeArray::getConcreteArray):
43097
430982010-02-25  Dan Bernstein  <mitz@apple.com>
43099
43100        Reviewed by Alexey Proskuryakov.
43101
43102        Fixed a regression introduced in r44243, which made the assertion in checkListItems()
43103        ineffective.
43104
43105        * dom/SelectElement.cpp:
43106        (WebCore::SelectElementData::checkListItems): Copy the items vector before recomputing it,
43107        then assert that the newly-computed vector is equal to the copy.
43108
431092010-02-25  Dirk Schulze  <krit@webkit.org>
43110
43111        Reviewed by Nikolas Zimmermann.
43112
43113        SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
43114        https://bugs.webkit.org/show_bug.cgi?id=35354
43115
43116        This makes the base class RenderSVGInline of RenderSVGTSpan and RenderSVGInlineText
43117        dependent on SVGBaseRenderer.
43118        The SVG spec want as to use the object bounding box of the text root as the bounding box
43119        for text-childs. So we search for the text root and use it's bounding box, stroke rect and
43120        repaint rect for further calculations.
43121
43122        Test: svg/filters/filter-on-tspan.svg
43123
43124        * rendering/RenderSVGInline.cpp:
43125        (WebCore::RenderSVGInline::objectBoundingBox): Find the text root and give back it's bounding box.
43126        (WebCore::RenderSVGInline::strokeBoundingBox): same for stroke rect
43127        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates): same for repaint rect
43128        * rendering/RenderSVGInline.h:
43129        (WebCore::RenderSVGInline::toSVGRenderBase): RenderSVGInline is part of SVGRenderBase now.
43130        * rendering/RenderSVGTSpan.h:
43131        (WebCore::RenderSVGTSpan::renderName): Removed bounding box code. Was just a hack for filters and maskers.
43132        * rendering/SVGRenderSupport.cpp:
43133        (WebCore::findTextRootObject): Search for the text root.
43134        * rendering/SVGRenderSupport.h:
43135        * svg/graphics/SVGPaintServerGradient.cpp: moved findTextRootObject to SVGRenderSupport
43136
431372010-02-25  Dirk Schulze  <krit@webkit.org>
43138
43139        Reviewed by Nikolas Zimmermann.
43140
43141        Use-element doesn't transform clipPath
43142        https://bugs.webkit.org/show_bug.cgi?id=35375
43143
43144        If the use element is a child of clipPath, any settings on x, y or transform does not
43145        transform the clipPath it references.
43146        The use-element just misses this transformation in toClipPath.
43147
43148        Test: svg/custom/use-on-clip-path-with-transformation.svg
43149
43150        * platform/graphics/cairo/PathCairo.cpp: Gtk port translated the path to the wrong direction.
43151        (WebCore::Path::translate):
43152        * svg/SVGUseElement.cpp:
43153        (WebCore::SVGUseElement::toClipPath):
43154
431552010-02-25  Jian Li  <jianli@chromium.org>
43156
43157        Reviewed by Dmitry Titov.
43158
43159        File.type support.
43160        https://bugs.webkit.org/show_bug.cgi?id=35361
43161
43162        Test: LayoutTests/editing/pasteboard/file-input-files-access.html
43163
43164        * html/File.cpp:
43165        (WebCore::File::File):
43166        * html/File.h:
43167        (WebCore::File::type):
43168        * html/File.idl:
43169
431702010-02-25  Alexander Pavlov  <apavlov@chromium.org>
43171
43172        Reviewed by Pavel Feldman.
43173
43174        Javascript console should not attempt to scroll to end of console if console is not visible
43175
43176        https://bugs.webkit.org/show_bug.cgi?id=22992
43177
43178        * inspector/front-end/ConsoleView.js:
43179        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
43180        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
43181        (WebInspector.ConsoleView.prototype.addMessage):
43182
431832010-02-25  Alexey Proskuryakov  <ap@apple.com>
43184
43185        Qt and Gtk build fixes.
43186
43187        * GNUmakefile.am:
43188        * WebCore.pro:
43189        Added CRuntimeObject.{c,cpp}.
43190
431912010-02-25  Alexey Proskuryakov  <ap@apple.com>
43192
43193        Windows build fix.
43194
43195        * WebCore.vcproj/WebCore.vcproj: Added CRuntimeObject.{c,cpp}.
43196
431972010-02-25  Alexey Proskuryakov  <ap@apple.com>
43198
43199        Reviewed by Geoffrey Garen.
43200
43201        https://bugs.webkit.org/show_bug.cgi?id=35394
43202        <rdar://problem/7685262> Make passing objects between Java and plug-ins work
43203
43204        * WebCore.PluginHostProcess.exp: WebKit now subclasses RuntimeObject, so it needed more exports.
43205
43206        * bridge/runtime_object.cpp:
43207        (JSC::Bindings::callRuntimeObject):
43208        (JSC::Bindings::callRuntimeConstructor):
43209        Assert that a runtime object is passed as function.
43210
43211        * bridge/runtime_object.h: Moved RuntimeObject into Bindings namespace, matching other
43212        related classes.
43213
43214        * bridge/jni/jni_jsobject.mm:
43215        (JavaJSObject::toString): Pass rootObject to convertValueToJValue(). It's not needed when
43216        constructing a string, but this function now takes it for the sake of Object.
43217        (JavaJSObject::convertValueToJObject): Check that object class is JavaRuntimeObject, not
43218        just RuntimeObject.
43219
43220        * bridge/jni/jsc/JNIBridgeJSC.cpp:
43221        (JavaField::setValueToInstance): Pass rootObject to convertValueToJValue().
43222        (JavaArray::setValueAt): Ditto.
43223
43224        * bridge/jni/jsc/JNIUtilityPrivate.h: convertValueToJValue() now takes a RootObject argument,
43225        because one is needed to gcProtect an object ghtat is wrapped into JSObject.
43226
43227        * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Convert
43228        JavaScript objects to Java JSObject ones. This was already happening in other code paths,
43229        which we should change to use common code.
43230
43231        * bridge/jni/jsc/JavaInstanceJSC.cpp:
43232        (JavaInstance::newRuntimeObject): Create an appropriate RuntimeObject subclass,
43233        which is JavaRuntimeObject for Java.
43234        (JavaInstance::invokeMethod): Unwrap returned JavaObjects that contain JS objects.
43235
43236        * WebCore.xcodeproj/project.pbxproj:
43237        * bindings/objc/WebScriptObject.mm:
43238        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
43239        * bridge/c/CRuntimeObject.cpp: Added.
43240        (JSC::Bindings::CRuntimeObject::CRuntimeObject):
43241        (JSC::Bindings::CRuntimeObject::~CRuntimeObject):
43242        (JSC::Bindings::CRuntimeObject::getInternalCInstance):
43243        * bridge/c/CRuntimeObject.h: Added.
43244        (JSC::Bindings::CRuntimeObject::classInfo):
43245        * bridge/c/c_instance.cpp:
43246        (JSC::Bindings::CInstance::newRuntimeObject):
43247        * bridge/c/c_instance.h:
43248        * bridge/c/c_utility.cpp:
43249        (JSC::Bindings::convertValueToNPVariant):
43250        * bridge/jni/jsc/JavaInstanceJSC.h:
43251        * bridge/jni/jsc/JavaRuntimeObject.cpp: Added.
43252        (JSC::Bindings::):
43253        (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
43254        (JSC::Bindings::JavaRuntimeObject::~JavaRuntimeObject):
43255        (JSC::Bindings::JavaRuntimeObject::getInternalJavaInstance):
43256        * bridge/jni/jsc/JavaRuntimeObject.h: Added.
43257        (JSC::Bindings::JavaRuntimeObject::classInfo):
43258        * bridge/jsc/BridgeJSC.h:
43259        * bridge/objc/ObjCRuntimeObject.h: Added.
43260        (JSC::Bindings::ObjCRuntimeObject::classInfo):
43261        * bridge/objc/ObjCRuntimeObject.mm: Added.
43262        (JSC::Bindings::):
43263        (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
43264        (JSC::Bindings::ObjCRuntimeObject::~ObjCRuntimeObject):
43265        (JSC::Bindings::ObjCRuntimeObject::getInternalObjCInstance):
43266        * bridge/objc/objc_instance.h:
43267        * bridge/objc/objc_instance.mm:
43268        (ObjcInstance::newRuntimeObject):
43269        * bridge/objc/objc_runtime.mm:
43270        (JSC::Bindings::callObjCFallbackObject):
43271        * bridge/runtime_root.h:
43272        Added RuntimeObject subclasses for each instance type, and use them for type casting.
43273
432742010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43275
43276        Rubber-stamped by Xan Lopez.
43277
43278        Adopt the same string as the one that is expected by
43279        fast/parser/fragment-parser.html for the description used by the
43280        <isindex> element.
43281
43282        * platform/gtk/LocalizedStringsGtk.cpp:
43283        (WebCore::searchableIndexIntroduction):
43284
432852010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43286
43287        Reviewed by Timothy Hatcher.
43288
43289        Web Inspector: evaluate-on-hover does not work on HTML files.
43290
43291        https://bugs.webkit.org/show_bug.cgi?id=35378
43292
43293        * inspector/front-end/SourceCSSTokenizer.re2js:
43294        * inspector/front-end/SourceHTMLTokenizer.js:
43295        (WebInspector.SourceHTMLTokenizer):
43296        (WebInspector.SourceHTMLTokenizer.prototype.set line):
43297        (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
43298        (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
43299        (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
43300        (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
43301        (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
43302        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
43303        * inspector/front-end/SourceHTMLTokenizer.re2js:
43304        * inspector/front-end/SourceJavaScriptTokenizer.js:
43305        (WebInspector.SourceJavaScriptTokenizer):
43306        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
43307        * inspector/front-end/SourceTokenizer.js:
43308        (WebInspector.SourceTokenizer.prototype.set condition):
43309        (WebInspector.SourceTokenizer.prototype.get condition):
43310        (WebInspector.SourceTokenizer.prototype.get subTokenizer):
43311        (WebInspector.SourceTokenizer.prototype.getLexCondition):
43312        (WebInspector.SourceTokenizer.prototype.setLexCondition):
43313        * inspector/front-end/TextEditorHighlighter.js:
43314        (WebInspector.TextEditorHighlighter):
43315        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
43316        (WebInspector.TextEditorHighlighter.prototype.highlight):
43317        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
43318        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
43319        (WebInspector.TextEditorHighlighter.prototype._highlightLine):
43320        * inspector/front-end/TextViewer.js:
43321        (WebInspector.TextViewer.prototype._paintLine):
43322
433232010-02-25  Xan Lopez  <xlopez@igalia.com>
43324
43325        Reviewed by Gustavo Noronha.
43326
43327        Simple style cleanups.
43328
43329        * plugins/gtk/PluginViewGtk.cpp:
43330        (WebCore::plugRemovedCallback):
43331        (WebCore::plugAddedCallback):
43332        (WebCore::PluginView::platformStart):
43333
433342010-02-25  Andreas Kling  <andreas.kling@nokia.com>
43335
43336        Reviewed by Darin Adler.
43337
43338        Optimize decoding of Latin-1 text by exploiting the fact that most of it will
43339        be ASCII-only data.
43340
43341        https://bugs.webkit.org/show_bug.cgi?id=35233
43342
43343        * platform/text/TextCodecLatin1.cpp:
43344        (WebCore::TextCodecLatin1::decode):
43345
433462010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43347
43348        Reviewed by Dimitri Glazkov.
43349
43350        Web Inspector: make script lines count calculation lazy.
43351
43352        https://bugs.webkit.org/show_bug.cgi?id=35392
43353
43354        * inspector/front-end/Script.js:
43355        (WebInspector.Script):
43356        (WebInspector.Script.prototype.get linesCount):
43357        * inspector/front-end/ScriptsPanel.js:
43358        * inspector/front-end/SourceView.js:
43359        (WebInspector.SourceView.prototype._addBreakpoint):
43360
433612010-02-25  James Choi  <jchoi42@pha.jhu.edu>
43362
43363        Reviewed by David Levin.
43364
43365        Change hardcoded gcc paths to be Solaris friendly
43366        https://bugs.webkit.org/show_bug.cgi?id=35213
43367
43368        * bindings/scripts/CodeGeneratorObjC.pm:
43369        * bindings/scripts/IDLParser.pm:
43370        * css/make-css-file-arrays.pl:
43371        * dom/make_names.pl:
43372
433732010-02-25  Xan Lopez  <xlopez@igalia.com>
43374
43375        Reviewed by Gustavo Noronha.
43376
43377        Workaround Java plugins not drawing themselves properly on first
43378        expose by doing a late size-allocate after 'plug-added' has been
43379        emitted on the embedding GtkSocket. It's unclear to me if this is
43380        a bug in our side or theirs, but this should be pretty safe and
43381        fixes the annoyance while we investigate it further.
43382
43383        * plugins/gtk/PluginViewGtk.cpp:
43384        (WebCore::plugAddedCallback):
43385        (WebCore::PluginView::platformStart):
43386
433872010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43388
43389        Reviewed by Tor Arne Vestbø.
43390
43391        Add missing include guards
43392
43393        * loader/CrossOriginPreflightResultCache.h:
43394        * loader/MainResourceLoader.h:
43395
433962010-02-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43397
43398        Reviewed by Tor Arne Vestbø.
43399
43400        [Qt] Restrict the optimization flags for Symbian to release builds.
43401
43402        * WebCore.pro:
43403
434042010-02-25  Jarkko Sakkinen  <jarkko.sakkinen@tieto.com>
43405
43406        Reviewed by Kenneth Rohde Christiansen.
43407
43408        Qt WebGL support
43409
43410        Adds GraphicsContext3D QtWebKit implementation.
43411        https://bugs.webkit.org/show_bug.cgi?id=35153
43412
43413        * WebCore.pri:
43414        * WebCore.pro:
43415        * platform/graphics/GraphicsContext3D.h:
43416        * platform/graphics/qt/GraphicsContext3DQt.cpp: Added.
43417        (WebCore::GraphicsContext3DInternal::isValid):
43418        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
43419        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
43420        (WebCore::GraphicsContext3DInternal::getProcAddress):
43421        (WebCore::GraphicsContext3D::create):
43422        (WebCore::GraphicsContext3D::GraphicsContext3D):
43423        (WebCore::GraphicsContext3D::~GraphicsContext3D):
43424        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
43425        (WebCore::GraphicsContext3D::platformTexture):
43426        (WebCore::GraphicsContext3D::makeContextCurrent):
43427        (WebCore::GraphicsContext3D::beginPaint):
43428        (WebCore::GraphicsContext3D::endPaint):
43429        (WebCore::GraphicsContext3D::reshape):
43430        (WebCore::GraphicsContext3D::activeTexture):
43431        (WebCore::GraphicsContext3D::attachShader):
43432        (WebCore::GraphicsContext3D::bindAttribLocation):
43433        (WebCore::GraphicsContext3D::bindBuffer):
43434        (WebCore::GraphicsContext3D::bindFramebuffer):
43435        (WebCore::GraphicsContext3D::bindRenderbuffer):
43436        (WebCore::GraphicsContext3D::bindTexture):
43437        (WebCore::GraphicsContext3D::blendColor):
43438        (WebCore::GraphicsContext3D::blendEquation):
43439        (WebCore::GraphicsContext3D::blendEquationSeparate):
43440        (WebCore::GraphicsContext3D::blendFunc):
43441        (WebCore::GraphicsContext3D::blendFuncSeparate):
43442        (WebCore::GraphicsContext3D::bufferData):
43443        (WebCore::GraphicsContext3D::bufferSubData):
43444        (WebCore::GraphicsContext3D::checkFramebufferStatus):
43445        (WebCore::GraphicsContext3D::clearColor):
43446        (WebCore::GraphicsContext3D::clear):
43447        (WebCore::GraphicsContext3D::clearDepth):
43448        (WebCore::GraphicsContext3D::clearStencil):
43449        (WebCore::GraphicsContext3D::colorMask):
43450        (WebCore::GraphicsContext3D::compileShader):
43451        (WebCore::GraphicsContext3D::copyTexImage2D):
43452        (WebCore::GraphicsContext3D::copyTexSubImage2D):
43453        (WebCore::GraphicsContext3D::cullFace):
43454        (WebCore::GraphicsContext3D::depthFunc):
43455        (WebCore::GraphicsContext3D::depthMask):
43456        (WebCore::GraphicsContext3D::depthRange):
43457        (WebCore::GraphicsContext3D::detachShader):
43458        (WebCore::GraphicsContext3D::disable):
43459        (WebCore::GraphicsContext3D::disableVertexAttribArray):
43460        (WebCore::GraphicsContext3D::drawArrays):
43461        (WebCore::GraphicsContext3D::drawElements):
43462        (WebCore::GraphicsContext3D::enable):
43463        (WebCore::GraphicsContext3D::enableVertexAttribArray):
43464        (WebCore::GraphicsContext3D::finish):
43465        (WebCore::GraphicsContext3D::flush):
43466        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
43467        (WebCore::GraphicsContext3D::framebufferTexture2D):
43468        (WebCore::GraphicsContext3D::frontFace):
43469        (WebCore::GraphicsContext3D::generateMipmap):
43470        (WebCore::GraphicsContext3D::getActiveAttrib):
43471        (WebCore::GraphicsContext3D::getActiveUniform):
43472        (WebCore::GraphicsContext3D::getAttribLocation):
43473        (WebCore::GraphicsContext3D::getContextAttributes):
43474        (WebCore::GraphicsContext3D::getError):
43475        (WebCore::GraphicsContext3D::getString):
43476        (WebCore::GraphicsContext3D::hint):
43477        (WebCore::GraphicsContext3D::isBuffer):
43478        (WebCore::GraphicsContext3D::isEnabled):
43479        (WebCore::GraphicsContext3D::isFramebuffer):
43480        (WebCore::GraphicsContext3D::isProgram):
43481        (WebCore::GraphicsContext3D::isRenderbuffer):
43482        (WebCore::GraphicsContext3D::isShader):
43483        (WebCore::GraphicsContext3D::isTexture):
43484        (WebCore::GraphicsContext3D::lineWidth):
43485        (WebCore::GraphicsContext3D::linkProgram):
43486        (WebCore::GraphicsContext3D::pixelStorei):
43487        (WebCore::GraphicsContext3D::polygonOffset):
43488        (WebCore::GraphicsContext3D::readPixels):
43489        (WebCore::GraphicsContext3D::releaseShaderCompiler):
43490        (WebCore::GraphicsContext3D::renderbufferStorage):
43491        (WebCore::GraphicsContext3D::sampleCoverage):
43492        (WebCore::GraphicsContext3D::scissor):
43493        (WebCore::GraphicsContext3D::shaderSource):
43494        (WebCore::GraphicsContext3D::stencilFunc):
43495        (WebCore::GraphicsContext3D::stencilFuncSeparate):
43496        (WebCore::GraphicsContext3D::stencilMask):
43497        (WebCore::GraphicsContext3D::stencilMaskSeparate):
43498        (WebCore::GraphicsContext3D::stencilOp):
43499        (WebCore::GraphicsContext3D::stencilOpSeparate):
43500        (WebCore::GraphicsContext3D::texParameterf):
43501        (WebCore::GraphicsContext3D::texParameteri):
43502        (WebCore::GraphicsContext3D::uniform1f):
43503        (WebCore::GraphicsContext3D::uniform1fv):
43504        (WebCore::GraphicsContext3D::uniform2f):
43505        (WebCore::GraphicsContext3D::uniform2fv):
43506        (WebCore::GraphicsContext3D::uniform3f):
43507        (WebCore::GraphicsContext3D::uniform3fv):
43508        (WebCore::GraphicsContext3D::uniform4f):
43509        (WebCore::GraphicsContext3D::uniform4fv):
43510        (WebCore::GraphicsContext3D::uniform1i):
43511        (WebCore::GraphicsContext3D::uniform1iv):
43512        (WebCore::GraphicsContext3D::uniform2i):
43513        (WebCore::GraphicsContext3D::uniform2iv):
43514        (WebCore::GraphicsContext3D::uniform3i):
43515        (WebCore::GraphicsContext3D::uniform3iv):
43516        (WebCore::GraphicsContext3D::uniform4i):
43517        (WebCore::GraphicsContext3D::uniform4iv):
43518        (WebCore::GraphicsContext3D::uniformMatrix2fv):
43519        (WebCore::GraphicsContext3D::uniformMatrix3fv):
43520        (WebCore::GraphicsContext3D::uniformMatrix4fv):
43521        (WebCore::GraphicsContext3D::useProgram):
43522        (WebCore::GraphicsContext3D::validateProgram):
43523        (WebCore::GraphicsContext3D::vertexAttrib1f):
43524        (WebCore::GraphicsContext3D::vertexAttrib1fv):
43525        (WebCore::GraphicsContext3D::vertexAttrib2f):
43526        (WebCore::GraphicsContext3D::vertexAttrib2fv):
43527        (WebCore::GraphicsContext3D::vertexAttrib3f):
43528        (WebCore::GraphicsContext3D::vertexAttrib3fv):
43529        (WebCore::GraphicsContext3D::vertexAttrib4f):
43530        (WebCore::GraphicsContext3D::vertexAttrib4fv):
43531        (WebCore::GraphicsContext3D::vertexAttribPointer):
43532        (WebCore::GraphicsContext3D::viewport):
43533        (WebCore::GraphicsContext3D::getBooleanv):
43534        (WebCore::GraphicsContext3D::getBufferParameteriv):
43535        (WebCore::GraphicsContext3D::getFloatv):
43536        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
43537        (WebCore::GraphicsContext3D::getIntegerv):
43538        (WebCore::GraphicsContext3D::getProgramiv):
43539        (WebCore::GraphicsContext3D::getProgramInfoLog):
43540        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
43541        (WebCore::GraphicsContext3D::getShaderiv):
43542        (WebCore::GraphicsContext3D::getShaderInfoLog):
43543        (WebCore::GraphicsContext3D::getShaderSource):
43544        (WebCore::GraphicsContext3D::getTexParameterfv):
43545        (WebCore::GraphicsContext3D::getTexParameteriv):
43546        (WebCore::GraphicsContext3D::getUniformfv):
43547        (WebCore::GraphicsContext3D::getUniformiv):
43548        (WebCore::GraphicsContext3D::getUniformLocation):
43549        (WebCore::GraphicsContext3D::getVertexAttribfv):
43550        (WebCore::GraphicsContext3D::getVertexAttribiv):
43551        (WebCore::GraphicsContext3D::getVertexAttribOffset):
43552        (WebCore::GraphicsContext3D::texImage2D):
43553        (WebCore::GraphicsContext3D::texSubImage2D):
43554        (WebCore::GraphicsContext3D::createBuffer):
43555        (WebCore::GraphicsContext3D::createFramebuffer):
43556        (WebCore::GraphicsContext3D::createProgram):
43557        (WebCore::GraphicsContext3D::createRenderbuffer):
43558        (WebCore::GraphicsContext3D::createShader):
43559        (WebCore::GraphicsContext3D::createTexture):
43560        (WebCore::GraphicsContext3D::deleteBuffer):
43561        (WebCore::GraphicsContext3D::deleteFramebuffer):
43562        (WebCore::GraphicsContext3D::deleteProgram):
43563        (WebCore::GraphicsContext3D::deleteRenderbuffer):
43564        (WebCore::GraphicsContext3D::deleteShader):
43565        (WebCore::GraphicsContext3D::deleteTexture):
43566        (WebCore::GraphicsContext3D::sizeInBytes):
43567        (WebCore::GraphicsContext3D::synthesizeGLError):
43568        (WebCore::GraphicsContext3D::getImageData):
43569
435702010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43571
43572        Reviewed by Timothy Hatcher.
43573
43574        Web Inspector: Swap images for activate and deactivate breakpoints.
43575
43576        https://bugs.webkit.org/show_bug.cgi?id=35383
43577
43578        * WebCore.gypi:
43579        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png.
43580        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Renamed from WebCore/inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png.
43581        * inspector/front-end/WebKit.qrc:
43582        * inspector/front-end/inspector.css:
43583
435842010-02-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
43585
43586        Reviewed by Xan Lopez.
43587
43588        Go back on symlink resolution if we are loading the flash plugin,
43589        and the path contains /netscape/, following what Chromium does.
43590
43591        Thanks to Evan Martin for the help on this!
43592
43593        * plugins/gtk/PluginPackageGtk.cpp:
43594        (WebCore::PluginPackage::load):
43595
435962010-02-25  Pavel Feldman  <pfeldman@chromium.org>
43597
43598        Reviewed by Timothy Hatcher.
43599
43600        Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.
43601
43602        https://bugs.webkit.org/show_bug.cgi?id=35232
43603
43604        * inspector/front-end/Panel.js:
43605        (WebInspector.Panel.prototype.canShowSourceLine):
43606        (WebInspector.Panel.prototype.showSourceLine):
43607        * inspector/front-end/ResourcesPanel.js:
43608        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
43609        (WebInspector.ResourcesPanel.prototype.showSourceLine):
43610        * inspector/front-end/Script.js:
43611        (WebInspector.Script):
43612        * inspector/front-end/ScriptView.js:
43613        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
43614        * inspector/front-end/ScriptsPanel.js:
43615        (WebInspector.ScriptsPanel.prototype.show):
43616        (WebInspector.ScriptsPanel.prototype.get searchableViews):
43617        (WebInspector.ScriptsPanel.prototype.addScript):
43618        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
43619        (WebInspector.ScriptsPanel.prototype.addBreakpoint):
43620        (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
43621        (WebInspector.ScriptsPanel.prototype.reset):
43622        (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
43623        (WebInspector.ScriptsPanel.prototype.showSourceLine):
43624        (WebInspector.ScriptsPanel.prototype._scriptOrResourceForURLAndLine):
43625        (WebInspector.ScriptsPanel.prototype.showView):
43626        (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource):
43627        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
43628        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
43629        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
43630        * inspector/front-end/SourceView.js:
43631        (WebInspector.SourceView.prototype._addBreakpoint):
43632        * inspector/front-end/inspector.js:
43633        (WebInspector.documentClick.followLink):
43634        (WebInspector.documentClick):
43635        (WebInspector._choosePanelToShowSourceLine):
43636        (WebInspector.canShowSourceLine):
43637        (WebInspector.showSourceLine):
43638
436392010-02-25  Ben Murdoch  <benm@google.com>
43640
43641        Reviewed by Kenneth Rohde Christiansen.
43642
43643        The target element of a Touch should be the target where that touch originated, not where it is now.
43644        https://bugs.webkit.org/show_bug.cgi?id=34585
43645
43646        Currently the target of a touch is set to the resulting node of the hit test where the touch currently
43647        is. This does not match the behavior of iPhone or Android. This patch uses a hashmap on the EventHandler
43648        to keep track of the target element when a touch is first started. This target is then used as the target
43649        for subsequent touches with the same id. This matches observed behavior on iPhone and Android.
43650
43651        Tests:
43652        fast/events/touch/touch-target.html: Added.
43653        fast/events/touch/basic-single-touch-events.html: Updated.
43654
43655        * page/EventHandler.cpp:
43656        (WebCore::EventHandler::handleTouchEvent): Store the originating target element of a touch in a hashmap
43657            so that we can reuse that target for future events caused by that touch. This matches observed behavior
43658            on iPhone and Android.
43659        * page/EventHandler.h: Add hashmap as a member.
43660        * platform/PlatformTouchPoint.h:
43661        (WebCore::PlatformTouchPoint::id): Store the touch point id as unsigned.
43662        * platform/qt/PlatformTouchPointQt.cpp: 
43663        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Cast platform touch id from signed to unsigned. Qt API
43664            docs state that it will always be >= 0.
43665
436662010-02-24  Antonio Gomes  <tonikitoo@webkit.org>
43667
43668        Reviewed by Simon Fraser.
43669        Patch by Antonio Gomes <tonikitoo@webkit.org>
43670
43671        Add a convenient center() method to IntRect
43672        https://bugs.webkit.org/show_bug.cgi?id=35346
43673
43674        As it is a convenience method, and implemention is
43675        based on FloatRect's one, patch does not provide a
43676        layout test.
43677
43678        * platform/graphics/IntRect.h:
43679        (WebCore::IntRect::center):
43680
436812010-02-25  Andrey Kosyakov  <caseq@chromium.org>
43682
43683        Reviewed by Pavel Feldman.
43684
43685        Fake workers implementation that simulates workers using iframe and timer,
43686        needed to support workers debugging. Also, a facility to inject scripts into
43687        inspected page upon load.
43688        https://bugs.webkit.org/show_bug.cgi?id=35148
43689
43690        * WebCore.gypi:
43691        * WebCore.vcproj/WebCore.vcproj:
43692        * inspector/InspectorBackend.cpp:
43693        (WebCore::InspectorBackend::addScriptToEvaluateOnLoad):
43694        (WebCore::InspectorBackend::removeAllScriptsToEvaluateOnLoad):
43695        * inspector/InspectorBackend.h:
43696        * inspector/InspectorBackend.idl:
43697        * inspector/InspectorController.cpp:
43698        (WebCore::InspectorController::didCommitLoad):
43699        (WebCore::InspectorController::addScriptToEvaluateOnLoad):
43700        (WebCore::InspectorController::removeAllScriptsToEvaluateOnLoad):
43701        * inspector/InspectorController.h:
43702        * inspector/front-end/InjectedFakeWorker.js: Added.
43703        (InjectedFakeWorker.Worker):
43704        (InjectedFakeWorker.FakeWorker):
43705        (InjectedFakeWorker.FakeWorker.prototype.postMessage):
43706        (InjectedFakeWorker.FakeWorker.prototype.terminate):
43707        (InjectedFakeWorker.FakeWorker.prototype._onmessageWrapper):
43708        (InjectedFakeWorker.FakeWorker.prototype._dispatchMessage):
43709        (InjectedFakeWorker.FakeWorker.prototype._handleException):
43710        (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
43711        (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext.handler):
43712        (InjectedFakeWorker.FakeWorker.prototype._setupWorkerContext):
43713        (InjectedFakeWorker.FakeWorker.prototype._importScripts):
43714        (InjectedFakeWorker.FakeWorker.prototype._loadScript):
43715        (InjectedFakeWorker.URL):
43716        (InjectedFakeWorker.URL.prototype.urlRegEx.split):
43717        (InjectedFakeWorker.URL.prototype.mockLocation):
43718        (InjectedFakeWorker.URL.prototype.completeWith):
43719        (InjectedFakeWorker.URL.prototype.sameOrigin):
43720        (InjectedFakeWorker.DOMCoreException.formatError):
43721        (InjectedFakeWorker.DOMCoreException):
43722        (InjectedFakeWorker.noop):
43723        * inspector/front-end/InspectorBackendStub.js:
43724        (.WebInspector.InspectorBackendStub.prototype.setInjectedScriptSource):
43725        (.WebInspector.InspectorBackendStub.prototype.addScriptToEvaluateOnLoad):
43726        (.WebInspector.InspectorBackendStub.prototype.removeAllScriptsToEvaluateOnLoad):
43727        * inspector/front-end/WebKit.qrc:
43728        * inspector/front-end/inspector.html:
43729
437302010-02-24  Nicholas Young  <nicholas.young@nokia.com>
43731
43732        Reviewed by Eric Carlson.
43733
43734        Add mediaPlayerOwningDocument() to MediaPlayerClient.
43735        https://bugs.webkit.org/show_bug.cgi?id=35374
43736
43737        No new tests. These are interface changes only.
43738
43739        * html/HTMLMediaElement.cpp:
43740        (WebCore::HTMLMediaElement::mediaPlayerOwningDocument): Implementation for media element.
43741        * html/HTMLMediaElement.h:
43742        * platform/graphics/MediaPlayer.h:
43743        (WebCore::MediaPlayerClient::mediaPlayerOwningDocument): New virtual method.
43744
437452010-02-24  Andreas Kling  <andreas.kling@nokia.com>
43746
43747        Reviewed by Kenneth Rohde Christiansen.
43748
43749        Optimized Font::normalizeSpaces() by caching the String::characters()
43750        instead of repeatedly calling operator[]
43751
43752        https://bugs.webkit.org/show_bug.cgi?id=35336
43753
43754        * platform/graphics/Font.cpp:
43755        (WebCore::Font::normalizeSpaces):
43756
437572010-02-24  Jungshik Shin  <jshin@chromium.org>
43758
43759        Reviewed by David Levin.
43760
43761        [Chromium] Traditional Chinese Chrome on Windows should use PMingLiu instead of Simsun for Han characters
43762        https://bugs.webkit.org/show_bug.cgi?id=35319
43763
43764        No visible change in the layout test.
43765
43766        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
43767        (WebCore::):
43768
437692010-02-24  Anthony Ricaud  <rik@webkit.org>
43770
43771        Reviewed by Pavel Feldman.
43772
43773        Web Inspector: Reduce the timer to show the eval popover
43774        https://bugs.webkit.org/show_bug.cgi?id=35344
43775
43776        * inspector/front-end/SourceFrame.js:
43777        (WebInspector.SourceFrame.prototype._mouseMove):
43778
437792010-02-24  Jay Campan  <jcampan@google.com>
43780
43781        Reviewed by David Levin.
43782
43783        Don't show the autofill popup when the input text is disabled or read only.
43784
43785        Test: manual-tests/chromium/no-autofill-on-readonly.html
43786
43787        https://bugs.webkit.org/show_bug.cgi?id=35129
43788
43789        * src/EditorClientImpl.cpp:
43790        (WebKit::EditorClientImpl::autofill):
43791        *  manual-tests/chromium/no-autofill-on-readonly.html: Added.
43792
437932010-02-24  Dominic Mazzoni  <dmazzoni@chromium.org>
43794
43795        Reviewed by Jeremy Orlow.
43796
43797        Wraps includes of SVG headers so that it's possible to
43798        compile the V8 bindings with SVG disabled, e.g. 'enable_svg=0'.
43799        https://bugs.webkit.org/show_bug.cgi?id=35345
43800
43801        No new tests.
43802
43803        * bindings/v8/V8DOMWrapper.cpp:
43804        * bindings/v8/V8Proxy.cpp:
43805        * bindings/v8/custom/V8CSSValueCustom.cpp:
43806        * bindings/v8/custom/V8DocumentCustom.cpp:
43807        * bindings/v8/custom/V8ElementCustom.cpp:
43808        * bindings/v8/custom/V8EventCustom.cpp:
43809        * bindings/v8/custom/V8SVGElementCustom.cpp:
43810
438112010-02-24  Maciej Stachowiak  <mjs@apple.com>
43812
43813        Unreviewed build fix.
43814
43815        Fix gtk build.
43816
43817        Include JSC headers as runtime/ instead of JavaScriptCore/
43818
43819        * bindings/js/JSDOMWrapper.h:
43820        * bindings/js/ScriptWrappable.h:
43821
438222010-02-24  Maciej Stachowiak  <mjs@apple.com>
43823
43824        Reviewed by Oliver Hunt.
43825
43826        Cache JavaScript wrappers inline in DOM nodes
43827        https://bugs.webkit.org/show_bug.cgi?id=35226
43828
43829        <rdar://problem/7664202>
43830        
43831        7.4% speedup on Dromaeo DOM Core tests.
43832        2.3% speedup on Hixie DOM Core tests.
43833
43834        This fixes the following things from the last attempt:
43835        - Now builds in both debug and release and passes all tests
43836        - Properly use a WeakGCPtr, not just a raw pointer, in ScriptWrappable
43837        - Properly look in the appropriate per-document or per-world map
43838        - Added an assert that would have caught any of the problems I found
43839        - Handle clearing the inline cache properly in all cases
43840        
43841        * bindings/js/JSDOMBinding.cpp:
43842        (WebCore::cacheDOMObjectWrapper): Adjust for name changes.
43843        (WebCore::forgetDOMNode): Clear wrapper pointer.
43844        (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
43845        * bindings/js/JSDOMBinding.h:
43846        (WebCore::Document::getWrapperCache): Inlined.
43847        (WebCore::domObjectWrapperMapFor): Renamed to start with lowercase. Moved to header to inline.
43848        * bindings/js/JSDOMWrapper.h: Added.
43849        (WebCore::DOMObject::DOMObject): Factored this out of JSDOMBinding.h to avoid include
43850        cycle. I think the class should be renamed, I picked a forward-looking header name because
43851        we already have a DOMObject.h
43852        * bindings/js/JSNodeCustom.cpp:
43853        (WebCore::createWrapperInline): Renamed version of original createWrapper.
43854        (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
43855        (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
43856        * bindings/js/JSNodeCustom.h: Added.
43857        (WebCore::getCachedDOMNodeWrapper): Moved from JSDOMBinding.cpp and moved here,
43858        so it could inline everywhere without creating an include cycle. Consider inline
43859        cache.
43860        (WebCore::toJS): Moved to header to inline.
43861        * bindings/js/ScriptWrappable.h:
43862        (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
43863        way for JavaScriptCore. (Using a WeakGCPtr).
43864        (WebCore::ScriptWrappable::wrapper):
43865        (WebCore::ScriptWrappable::setWrapper):
43866        (WebCore::ScriptWrappable::clearWrapper):
43867        * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
43868        in the header, not just the impl file, so they can add inlining.
43869        * dom/Node.idl: Add CustomHeader directive.
43870        
43871        Add new files to build.
43872
43873        * GNUmakefile.am:
43874        * WebCore.gypi:
43875        * WebCore.pro:
43876        * WebCore.vcproj/WebCore.vcproj:
43877        * WebCore.xcodeproj/project.pbxproj:
43878
43879
438802010-02-24  Jochen Eisinger  <jochen@chromium.org>
43881
43882        Reviewed by Jeremy Orlow.
43883
43884        Expose Database object of currently active task on the database thread
43885        https://bugs.webkit.org/show_bug.cgi?id=35341
43886
43887        * storage/DatabaseThread.cpp:
43888        (WebCore::DatabaseThread::DatabaseThread):
43889        (WebCore::DatabaseThread::databaseThread):
43890        * storage/DatabaseThread.h:
43891        (WebCore::DatabaseThread::getDatabaseOfCurrentTask):
43892
438932010-02-24  Nicholas Young  <nicholas.young@nokia.com>
43894
43895        Reviewed by Eric Carlson.
43896
43897        supportsMuting() should be an internal interface between MediaPlayer and MediaPlayerPrivate.
43898        https://bugs.webkit.org/show_bug.cgi?id=35327
43899
43900        No new tests. Refactoring Only.
43901
43902        * html/HTMLMediaElement.cpp:
43903        (WebCore::HTMLMediaElement::setMuted): Do not check supportsMuting()
43904        (WebCore::HTMLMediaElement::updateVolume): Set volume and muted
43905        * platform/graphics/MediaPlayer.cpp:
43906        (WebCore::MediaPlayer::setVolume): Check supportsMuting()
43907        (WebCore::MediaPlayer::setMuted): Check supportsMuting()
43908        * platform/graphics/MediaPlayer.h: Remove supportsMuting()
43909
439102010-02-24  Adam Barth  <abarth@webkit.org>
43911
43912        Reviewed by Darin Fisher.
43913
43914        [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
43915        https://bugs.webkit.org/show_bug.cgi?id=35205
43916
43917        For clients that want to show a user interface element when JavaScript
43918        was blocked on a page, we need to disambiguate between querying the
43919        client for whether JavaScript is enabled from actually failing to
43920        execute some script.
43921
43922        This patch adds a new FrameLoaderClient callback for when WebCore would
43923        like to execute JavaScript but fails to because JavaScript is disabled.
43924
43925        This patch also touches every client of canExecuteScripts so they can
43926        indicate whether we should make this callback.  I was hoping there was
43927        a better choke point, but my first two attempts were wrong in subtle
43928        ways.  pkasting points out that this will be easy to screw up in the
43929        future, so it's better to make all the clients be explicit.
43930
43931        * WebCore.PluginHostProcess.exp:
43932        * bindings/ScriptControllerBase.cpp:
43933        (WebCore::ScriptController::canExecuteScripts):
43934        (WebCore::ScriptController::executeScript):
43935        * bindings/js/JSEventListener.cpp:
43936        (WebCore::JSEventListener::handleEvent):
43937        * bindings/js/JSLazyEventListener.cpp:
43938        (WebCore::JSLazyEventListener::initializeJSFunction):
43939        * bindings/js/ScheduledAction.cpp:
43940        (WebCore::ScheduledAction::execute):
43941        * bindings/js/ScriptController.cpp:
43942        (WebCore::ScriptController::bindingRootObject):
43943        (WebCore::ScriptController::windowScriptNPObject):
43944        (WebCore::ScriptController::jsObjectForPluginElement):
43945        (WebCore::ScriptController::executeScriptInWorld):
43946        * bindings/js/ScriptController.h:
43947        (WebCore::):
43948        * bindings/js/ScriptControllerMac.mm:
43949        (WebCore::ScriptController::windowScriptObject):
43950        * bindings/js/ScriptDebugServer.cpp:
43951        (WebCore::ScriptDebugServer::setJavaScriptPaused):
43952        * bindings/js/ScriptEventListener.cpp:
43953        (WebCore::createAttributeEventListener):
43954        * bindings/js/ScriptState.cpp:
43955        (WebCore::scriptStateFromNode):
43956        * bindings/v8/ScriptController.cpp:
43957        (WebCore::ScriptController::windowScriptNPObject):
43958        (WebCore::ScriptController::createScriptObjectForPluginElement):
43959        * bindings/v8/ScriptController.h:
43960        (WebCore::):
43961        * bindings/v8/ScriptEventListener.cpp:
43962        (WebCore::createAttributeEventListener):
43963        * bindings/v8/V8Proxy.cpp:
43964        (WebCore::V8Proxy::retrieve):
43965        * dom/ScriptElement.cpp:
43966        (WebCore::ScriptElementData::evaluateScript):
43967        * dom/XMLTokenizerLibxml2.cpp:
43968        (WebCore::XMLTokenizer::startElementNs):
43969        * html/HTMLMediaElement.cpp:
43970        (WebCore::HTMLMediaElement::controls):
43971        * html/HTMLTokenizer.cpp:
43972        (WebCore::HTMLTokenizer::parseTag):
43973        (WebCore::HTMLTokenizer::processToken):
43974        * inspector/InspectorController.cpp:
43975        (WebCore::canPassNodeToJavaScript):
43976        * loader/FrameLoader.cpp:
43977        (WebCore::FrameLoader::isProcessingUserGesture):
43978        (WebCore::FrameLoader::open):
43979        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
43980        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
43981        * loader/FrameLoaderClient.h:
43982        (WebCore::FrameLoaderClient::didNotAllowScript):
43983
439842010-02-24  Adam Barth  <abarth@webkit.org>
43985
43986        Reviewed by Darin Fisher.
43987
43988        Add call to FrameLoaderClient::allowPlugins everywhere arePluginsEnabled is called
43989        https://bugs.webkit.org/show_bug.cgi?id=34997
43990
43991        If we want to let the FrameLoaderClient override arePluginsEnabled,
43992        then we need to call out to the FrameLoaderClient every time we read
43993        the setting.
43994
43995        We don't have testing infrustructure for these changes, which is lame.
43996        I'm supposed to fix that in Bug 33991.
43997
43998        * dom/DOMImplementation.cpp:
43999        (WebCore::DOMImplementation::createDocument):
44000        * loader/MainResourceLoader.cpp:
44001        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
44002        * loader/PluginDocument.cpp:
44003        (WebCore::PluginTokenizer::writeRawData):
44004        * page/Page.cpp:
44005        (WebCore::Page::pluginData):
44006        * plugins/MimeType.cpp:
44007        (WebCore::MimeType::enabledPlugin):
44008
440092010-02-24  James Robinson  <jamesr@chromium.org>
44010
44011        Reviewed by Dmitry Titov.
44012
44013        Do not fire focus events while a modal dialog is up.
44014        https://bugs.webkit.org/show_bug.cgi?id=33962
44015
44016        Modifies the FocusController to check the frame's page's defersLoading() flag before firing blur/focus events.
44017        This flag is set while a modal dialog (like a window.alert or window.confirm) is up.  Firing the events causes
44018        assertion failures, since when the dialog is dismissed the PageGroupLoadDeferrer assumes that no script has run.
44019
44020        Manual tests only as DumpRenderTree does not support modal dialogs
44021
44022        * manual-tests/modal-dialog-blur-selfclose.html: Added.
44023        * manual-tests/modal-dialog-blur.html: Added.
44024        * page/FocusController.cpp:
44025        (WebCore::dispatchEventsOnWindowAndFocusedNode):
44026
440272010-02-24  Dan Bernstein  <mitz@apple.com>
44028
44029        Reviewed by Anders Carlsson.
44030
44031        <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element
44032
44033        Test: fast/parser/fragment-parser.html
44034
44035        Ensure that fragment parsing has no side effects on the fragment’s owner
44036        document.
44037
44038        * html/HTMLParser.cpp:
44039        (WebCore::HTMLParser::insertNode): Don’t call
44040        dispatchDocumentElementAvailable() for fragments.
44041        (WebCore::HTMLParser::handleError): Don’t copy attributes to the owner
44042        document’s <html> and <body> elements when a redundant <html> or <body>
44043        is encountered while parsing a fragment.
44044        (WebCore::HTMLParser::framesetCreateErrorCheck): Don’t change the owner
44045        document’s <body> element’s style when parsing a fragment.
44046        (WebCore::HTMLParser::createHead): Don’t attach the new <head> to the
44047        ownder document of a fragment.
44048
440492010-02-24  David Levin  <levin@chromium.org>
44050
44051        Reviewed by Darin Adler.
44052
44053        Need to create a CanvasSurface base class for HTMLCanvasElement.
44054        https://bugs.webkit.org/show_bug.cgi?id=35322
44055
44056        This is an initial step in making the OffscreenCanvas object.
44057
44058        No new functionality so no new tests.
44059
44060        * GNUmakefile.am: Added CanvasSurface to the build.
44061        * WebCore.gypi: ditto
44062        * WebCore.pro: ditto
44063        * WebCore.vcproj/WebCore.vcproj: ditto
44064        * WebCore.xcodeproj/project.pbxproj: ditto
44065        * dom/CanvasSurface.cpp: Added.
44066        * dom/CanvasSurface.h: Added.
44067        * html/HTMLCanvasElement.h: Made HTMLCanvasElement inherit from CanvasSurface.
44068
440692010-02-24  Peter Kasting  <pkasting@google.com>
44070
44071        Reviewed by Adam Barth.
44072
44073        Fix regression in calculating an animated image's start time.
44074        https://bugs.webkit.org/show_bug.cgi?id=35115
44075
44076        * platform/graphics/BitmapImage.cpp:
44077        (WebCore::BitmapImage::startAnimation):
44078
440792010-02-24  Dan Bernstein  <mitz@apple.com>
44080
44081        Reviewed by Simon Fraser.
44082
44083        <rdar://problem/7682827> Text with :first-letter lingers after being removed
44084
44085        Test: fast/css/first-letter-set-text.html
44086
44087        * rendering/RenderTextFragment.cpp:
44088        (WebCore::RenderTextFragment::setTextInternal): Set this back as the
44089        text node’s renderer, as removing the first letter has resets the node’s
44090        renderer.
44091
440922010-02-24  Ariya Hidayat  <ariya.hidayat@gmail.com>
44093
44094        Reviewed by Kenneth Rohde Christiansen.
44095
44096        [Qt] Faster cut-off for rectangle fill without shadow.
44097        https://bugs.webkit.org/show_bug.cgi?id=35337
44098
44099        * platform/graphics/qt/GraphicsContextQt.cpp:
44100
441012010-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44102
44103        Reviewed by nobody, build fix.
44104
44105        [Qt] Corrects build break of QtLauncher on Windows.
44106        The VERSION variable was not set anymore while building in trunk.
44107
44108        * WebCore.pro:
44109
441102010-02-24  Alexander Pavlov  <apavlov@chromium.org>
44111
44112        Reviewed by Pavel Feldman.
44113
44114        Web Inspector: Activate/Deactivate breaks does not look consistent with rest of the toolbar.
44115
44116        Fix style and add the new images to the related file sets.
44117        https://bugs.webkit.org/show_bug.cgi?id=35307
44118
44119        * WebCore.gypi:
44120        * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png:
44121        * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png:
44122        * inspector/front-end/WebKit.qrc:
44123        * inspector/front-end/inspector.css:
44124
441252010-02-24  Xan Lopez  <xlopez@igalia.com>
44126
44127        Reviewed by Gustavo Noronha.
44128
44129        Get rid of an extra call to
44130        setNPWindowIfNeeded. updatePluginWidget already calls this for us
44131        if needed.
44132
44133        * plugins/gtk/PluginViewGtk.cpp:
44134        (WebCore::PluginView::platformStart):
44135
441362010-02-24  Xan Lopez  <xlopez@igalia.com>
44137
44138        Reviewed by Gustavo Noronha.
44139
44140        Try to sanitize a bit the geometry management of plugins.
44141
44142        Stop doing contradictory things in updatePluginWidget (we were at
44143        the same time pretending the geometry setting was delayed until
44144        ::paint and setting the geometry not once but twice) and just set
44145        it any time the windowRect or clipRect for the plugin has changed.
44146
44147        This is closer to what the Mac port does, and fixes instances of
44148        the plugins not being drawn until the window is resized or
44149        scrolled. Other than that all manual and layout tests seems to
44150        still work.
44151
44152        * plugins/gtk/PluginViewGtk.cpp:
44153        (WebCore::PluginView::updatePluginWidget):
44154        (WebCore::PluginView::setNPWindowIfNeeded):
44155
441562010-02-23  Geoff Garen  <ggaren@apple.com>
44157
44158        Reviewed by Oliver Hunt.
44159
44160        Simplify animation lifetime handling.  Previously we manually
44161        determined whether our base element was safe when we unregistered
44162        our listener, now we simply ensure that the base element itself
44163        registers and unregisters the animation listener.
44164
44165        * svg/animation/SVGSMILElement.cpp:
44166        (WebCore::ConditionEventListener::create):
44167        (WebCore::ConditionEventListener::disconnectAnimation):
44168        (WebCore::ConditionEventListener::ConditionEventListener):
44169        (WebCore::ConditionEventListener::operator==):
44170        (WebCore::ConditionEventListener::handleEvent):
44171        (WebCore::SVGSMILElement::eventBaseFor):
44172        (WebCore::SVGSMILElement::connectConditions):
44173        (WebCore::SVGSMILElement::disconnectConditions):
44174        * svg/animation/SVGSMILElement.h:
44175
441762010-02-23  Dmitry Titov  <dimich@chromium.org>
44177
44178        Reviewed by David Levin.
44179
44180        Chromium: Use V8::TerminateExecution to actually terminate workers.
44181        https://bugs.webkit.org/show_bug.cgi?id=35137
44182
44183        Test: existing fast/workers/stress-js-execution.html which is currently failing
44184        on Mac and Linux bots for Chromium.
44185
44186        * bindings/v8/WorkerContextExecutionProxy.cpp:
44187        (WebCore::WorkerContextExecutionProxy::evaluate):
44188        * bindings/v8/WorkerScriptController.cpp:
44189        (WebCore::WorkerScriptController::forbidExecution):
44190
441912010-02-23  Enrica Casucci  <enrica@apple.com>
44192
44193        Reviewed by Simon Fraser.
44194
44195        REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
44196        <rdar://problem/7651935>
44197        https://bugs.webkit.org/show_bug.cgi?id=34957
44198
44199        Fixing a regression introduced with revision 53085. Anchor elements should not be considered
44200        in editable content when calculating the position in the parent before the node.
44201        
44202        Test: editing/execCommand/delete-image-in-anchor.html
44203
44204        * dom/Position.cpp:
44205        (WebCore::Position::getInlineBoxAndOffset):
44206
442072010-02-23  Tony Chang  <tony@chromium.org>
44208
44209        Reviewed by Eric Seidel.
44210
44211        https://bugs.webkit.org/show_bug.cgi?id=34634
44212        Pasting a list into the middle of another list item should split the target
44213        list item into two separate list items.  This matches the behavior in other
44214        browsers.
44215
44216        Test: editing/pasteboard/paste-list-004.html
44217
44218        * editing/ReplaceSelectionCommand.cpp:
44219        (WebCore::ReplaceSelectionCommand::insertAsListItems):
44220
442212010-02-23  Brady Eidson  <beidson@apple.com>
44222
44223        Reviewed by Tim Hatcher and Pavel Feldman.
44224
44225        Regression (r55107) - WebInspector docking is busted.
44226        https://bugs.webkit.org/show_bug.cgi?id=35274
44227
44228        * inspector/InspectorController.cpp:
44229        (WebCore::InspectorController::canAttachWindow): Use the minimum height for this calculation,
44230          not the preferred height.
44231        (WebCore::InspectorController::attachWindow): attachWindow() shouldn't decide the policy, as it is
44232          often called partway through the show or dock procedure after some of the initial conditions have
44233          changed. Let the front-end itself and the InspectorClient's make the policy decision at the start
44234          of the show/dock operation.
44235
44236        * inspector/InspectorFrontendHost.cpp:
44237        (WebCore::InspectorFrontendHost::canAttachWindow):
44238        * inspector/InspectorFrontendHost.h:
44239        * inspector/InspectorFrontendHost.idl:
44240
44241        * inspector/front-end/inspector.js:
44242        (WebInspector.toggleAttach): Before attaching, ask the front-end-host if attaching is allowed.
44243
442442010-02-23  Mark Rowe  <mrowe@apple.com>
44245
44246        Reviewed by Geoff Garen.
44247
44248        <http://webkit.org/b/35287> ImageSourceCG::frameIsCompleteAtIndex returns false for all frames until image has completed loading
44249
44250        CGImageSourceGetStatusAtIndex claims that all frames of a multi-frame image are incomplete when we've not yet received the
44251        complete data for an image that is using an incremental data source (<rdar://problem/7679174>). We work around this by
44252        special-casing all frames except the last in an image and treating them as complete if they are present and reported as
44253        being incomplete. We do this on the assumption that loading new data can only modify the existing last frame or append new
44254        frames. The last frame is only treated as being complete if the image source reports it as such. This ensures that it is
44255        truly the last frame of the image rather than just the last that we currently have data for.
44256
44257        * platform/graphics/cg/ImageSourceCG.cpp:
44258        (WebCore::ImageSource::frameIsCompleteAtIndex):
44259
442602010-02-23  Enrica Casucci  <enrica@apple.com>
44261
44262        Reviewed by Darin Adler.
44263
44264        Crash in createContextualFragment when inserting a list in a non HTML document.
44265        <rdar://problem/7666670>
44266        https://bugs.webkit.org/show_bug.cgi?id=35305
44267        
44268        createFragmentFromMarkup did not handle correctly the case where documentElement is
44269        not an HTMLElement. The static cast to HTMLElement was causing createContextualFragment to
44270        crash.
44271        
44272        Test: editing/execCommand/insert-list-xml.xhtml
44273
44274        * dom/Element.cpp:
44275        (WebCore::Element::createContextualFragment): Added.
44276        * dom/Element.h: Added createContextualFragment virtual function.
44277        * editing/markup.cpp:
44278        (WebCore::createFragmentFromMarkup): Removed static cast to HTMLElement.
44279        * html/HTMLElement.cpp:
44280        (WebCore::HTMLElement::createContextualFragment): Modified to perform only checks
44281        that are specific for an HTMLElement object. The rest of the logic has been moved to the
44282        corresponding method in the Element class.
44283
442842010-02-23  Steve Falkenburg  <sfalken@apple.com>
44285
44286        Reviewed by Adam Roben.
44287
44288        WebCore should stop throwing away the CGImageSourceRef on Windows to improve GIF performance
44289        https://bugs.webkit.org/show_bug.cgi?id=35309
44290
44291        * platform/graphics/cg/ImageSourceCG.cpp:
44292        (WebCore::ImageSource::clear):
44293
442942010-02-23  Leandro Pereira  <leandro@profusion.mobi>
44295
44296        Reviewed by Gustavo Noronha Silva.
44297
44298        Changes references of GOwnPtr to reflect their new place.
44299        http://webkit.org/b/35084
44300
44301        * WebCore/platform/KURL.cpp
44302        * WebCore/platform/TextEncoding.cpp:
44303        * WebCore/platform/text/gtk/TextBreakIteratorGtk.cpp: 
44304        * WebCore/platform/text/gtk/TextCodecGtk.cpp:
44305
443062010-02-23  Brady Eidson  <beidson@apple.com>
44307
44308        Reviewed by Alexey Proskuryakov.
44309
44310        HTTP 307 after a 303 after a POST re-sends POST data from the original request.
44311        <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410
44312
44313        Test: http/tests/loading/307-after-303-after-post.html
44314
44315        Remember the last HTTP method send out during a redirect chain for a resource handle:
44316        * platform/network/ResourceHandle.cpp:
44317        (WebCore::ResourceHandle::lastHTTPMethod):
44318        * platform/network/ResourceHandle.h:
44319        * platform/network/ResourceHandleInternal.h:
44320        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
44321
44322        Refer to the last HTTP method used instead of the original method:
44323        * platform/network/cf/ResourceHandleCFNet.cpp:
44324        (WebCore::willSendRequest):
44325        (WebCore::ResourceHandle::willSendRequest):
44326        * platform/network/mac/ResourceHandleMac.mm:
44327        (WebCore::ResourceHandle::willSendRequest):
44328        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
44329
443302010-02-23  Crystal Zhang  <haizhang@rim.com>
44331
44332        Unreviewed build fix.
44333
44334        Fix build error when enable plugin proxy: 'toRenderEmbeddedObject' identifier not found.
44335        As RenderEmbeddedObject inherits RenderPartObject and 'toRenderEmbeddedObject' belongs
44336        to former one.
44337
44338        * html/HTMLMediaElement.cpp:
44339
443402010-02-23  Evan Martin  <evan@chromium.org>
44341
44342        Reviewed by Jeremy Orlow.
44343
44344        [chromium] fix previous SVG-disabling patch
44345        https://bugs.webkit.org/show_bug.cgi?id=35298
44346
44347        * WebCore.gypi: rename variable
44348        * WebCore.gyp/WebCore.gyp: actually use the variable
44349
443502010-02-23  Michael Lotz <mmlr@mlotz.ch>
44351
44352        Reviewed by David Levin.
44353
44354        [Haiku] Fix conversion from BString to String
44355        https://bugs.webkit.org/show_bug.cgi?id=35082
44356
44357        The previous patch to this file was broken (sorry). First of all,
44358        the conversion from UTF8 was accidentally removed. Second, for
44359        empty strings, we need to point the implementation at StringImpl::empty().
44360
44361        Covered by existing tests.
44362
44363        * platform/text/haiku/StringHaiku.cpp:
44364        (WebCore::String::String):
44365
443662010-02-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
44367
44368        Reviewed by Eric Carlson.
44369
44370        [Qt] Prevent the media backend from handling non-audio or -video mime types
44371
44372        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44373
443742010-02-23  Evan Martin  <evan@chromium.org>
44375
44376        Reviewed by Jeremy Orlow.
44377
44378        [chromium] Allow building without SVG
44379        https://bugs.webkit.org/show_bug.cgi?id=31522
44380
44381        * WebCore.gyp/WebCore.gyp, WebCore.gypi: test enable_svg flag.
44382        * bindings/v8/custom/V8SVGDocumentCustom.cpp,
44383          bindings/v8/custom/V8SVGPathSegCustom.cpp: test ENABLE(SVG).
44384
443852010-02-23  Leandro Pereira  <leandro@profusion.mobi>
44386
44387        Reviewed by Gustavo Noronha Silva.
44388
44389        Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
44390        again.
44391        http://webkit.org/b/35084
44392
44393        * WebCore/platform/gtk/DataObjectGtk.h:
44394        * WebCore/platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44395
443962010-02-23  Ariya Hidayat  <ariya.hidayat@gmail.com>
44397
44398        Reviewed by Kenneth Rohde Christiansen.
44399
44400        [Qt] Faster cut-off for rectangle drawing without shadow.
44401        https://bugs.webkit.org/show_bug.cgi?id=35267
44402
44403        * platform/graphics/qt/GraphicsContextQt.cpp:
44404        (WebCore::GraphicsContext::drawRect):
44405
444062010-02-23  Steve Block  <steveblock@google.com>
44407
44408        Reviewed by Jeremy Orlow.
44409
44410        Removes redundant Settings::setGeolocationEnabled and Settings::geolocationEnabled
44411        https://bugs.webkit.org/show_bug.cgi?id=35242
44412
44413        No new tests, removing dead code only.
44414
44415        * page/Settings.cpp:
44416        * page/Settings.h:
44417
444182010-02-23  Ben Murdoch  <benm@google.com>
44419
44420        Reviewed by Eric Seidel.
44421
44422        pageX/Y co-ordinates of TouchEvent should be 0,0
44423        https://bugs.webkit.org/show_bug.cgi?id=35239
44424
44425        The co-ordinates attached to a touch event are not used for tracking touch motion, rather the co-ordinates attached to Touches within the touch event should be used. Set the co-ordinates on the event itself to 0 to avoid confusion and match observed iPhone behavior.
44426
44427        * page/EventHandler.cpp:
44428        (WebCore::EventHandler::handleTouchEvent): Set the pageX/Y and screenX/Y co-ordinates attached to the touch event to 0,0 to match observed behavior on the iPhone.
44429        * page/EventHandler.h: Remove now unused members m_firstTouchScreenPos and m_firstTouchPagePos.
44430
444312010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44432
44433        Reviewed by Eric Seidel.
44434
44435        [Haiku] Various improvements to EventHandlerHaiku.
44436        https://bugs.webkit.org/show_bug.cgi?id=34685
44437
44438        Covered by existing tests.
44439
44440        Fix the build by not including PlatformScrollBar.h.
44441
44442        * page/haiku/EventHandlerHaiku.cpp:
44443        (WebCore::isKeyboardOptionTab):
44444            Use the correct keycode for tab keys.
44445        (WebCore::EventHandler::focusDocumentView):
44446            Use proper locking. In any case, Haiku doesn't append platform
44447            widgets to WebCore widgets. But if it did, this implementation
44448            would be correct.
44449        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
44450            Implemented.
44451        (WebCore::EventHandler::eventActivatedView):
44452            Removed notImplemented() and added note.
44453        (WebCore::EventHandler::passMousePressEventToSubframe):
44454            Implemented.
44455        (WebCore::EventHandler::passMouseMoveEventToSubframe):
44456            Implemented.
44457        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
44458            Implemented.
44459        (WebCore::EventHandler::accessKeyModifiers):
44460            Added note.
44461
444622010-02-23  Tony Chang  <tony@chromium.org>
44463
44464        Not reviewed.
44465        Revert r55135 because the layout test is failing on all the bots.
44466        https://bugs.webkit.org/show_bug.cgi?id=34634
44467
44468        * editing/ReplaceSelectionCommand.cpp:
44469        (WebCore::ReplaceSelectionCommand::insertAsListItems):
44470
444712010-02-17  Steve Block  <steveblock@google.com>
44472
44473        Reviewed by Ariya Hidayat.
44474
44475        Adds cache to store Geolocation positions between browser sessions.
44476        https://bugs.webkit.org/show_bug.cgi?id=34084
44477
44478        This is required to fully implement the Geolocation maximumAge property.
44479        See Bug 30676.
44480
44481        No new tests, will add tests for maximumAge once complete.
44482
44483        * Android.mk: Modified. Added GeolocationPositionCache.cpp
44484        * GNUmakefile.am: Modified. Added GeolocationPositionCache.[cpp|h]
44485        * WebCore.gypi: Modified. Added GeolocationPositionCache.[cpp|h]
44486        * WebCore.pro: Modified. Added GeolocationPositionCache.[cpp|h]
44487        * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationPositionCache.[cpp|h]
44488        * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationPositionCache.[cpp|h]
44489        * page/GeolocationPositionCache.cpp: Added.
44490        (WebCore::GeolocationPositionCache::GeolocationPositionCache):
44491        (WebCore::GeolocationPositionCache::~GeolocationPositionCache):
44492        (WebCore::GeolocationPositionCache::setCachedPosition):
44493        (WebCore::GeolocationPositionCache::cachedPosition):
44494        (WebCore::GeolocationPositionCache::setDatabasePath):
44495        (WebCore::GeolocationPositionCache::readFromDB):
44496        (WebCore::GeolocationPositionCache::writeToDB):
44497        * page/GeolocationPositionCache.h: Added.
44498
444992010-02-23  Yuta Kitamura  <yutak@chromium.org>
44500
44501        Reviewed by Dan Bernstein.
44502
44503        Fix alignment of vertical-align: text-bottom inside an inline-block.
44504        
44505        This patch is based on a fix provided by Takahito Hirano.
44506
44507        display: inline-block + vertical-align: text-bottom causes misalignment.
44508        https://bugs.webkit.org/show_bug.cgi?id=30846
44509
44510        Test: fast/inline-block/inline-block-vertical-align-2.html
44511
44512        * rendering/RenderBoxModelObject.cpp:
44513        (WebCore::RenderBoxModelObject::verticalPosition): Fixed vpos calculation.
44514        We cannot cut corners for inline blocks, since they may have their own
44515        text metrics.
44516
445172010-02-23  Steve Block  <steveblock@google.com>
44518
44519        Reviewed by David Levin.
44520
44521        Sets default values of V8 runtime enabler flags to match behavior with JSC
44522        https://bugs.webkit.org/show_bug.cgi?id=35095
44523
44524        No new tests, modifies a Chromium feature only.
44525
44526        * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
44527        * storage/Database.cpp: Modified. Sets database flag default to 'on'.
44528
445292010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44530
44531        Reviewed by Eric Seidel.
44532
44533        [Haiku] Fix various issues in keyboard event generation.
44534        https://bugs.webkit.org/show_bug.cgi?id=34685
44535
44536        Covered by existing tests.
44537
44538        Fixed backspace keycode.
44539        Fixed using the appropriate fields from the Haiku event for mapping
44540        to the VK_* codes and added mapping a great deal more codes.
44541        Added extraction of modifier key flags.
44542        Completed implementation of disambiguateKeyDownEvent()
44543        Implemented currentCapsLockState().
44544
44545        * platform/haiku/PlatformKeyboardEventHaiku.cpp:
44546        (WebCore::keyIdentifierForHaikuKeyCode):
44547        (WebCore::windowsKeyCodeForKeyEvent):
44548        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
44549        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
44550        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
44551
445522010-02-23  Steve Block  <steveblock@google.com>
44553
44554        Reviewed by Darin Adler.
44555
44556        Adds Client::cancelGeolocationPermissionRequestForFrame and ChromeClient::cancelGeolocationPermissionRequestForFrame
44557        https://bugs.webkit.org/show_bug.cgi?id=34962
44558
44559        These methods are required so that a Geolocation object can cancel an
44560        asynchronous permission request. This allows the chrome client to cancel
44561        any UI it is showing for the permission request.
44562
44563        No new tests, as this is for the purposes of browser UI only.
44564
44565        * loader/EmptyClients.h: Modified
44566        (WebCore::EmptyChromeClient::cancelGeolocationPermissionRequestForFrame): Added
44567        * page/Chrome.cpp: Modified.
44568        (WebCore::Chrome::cancelGeolocationPermissionRequestForFrame): Added
44569        * page/Chrome.h: Modified.
44570        * page/ChromeClient.h: Modified.
44571        (WebCore::ChromeClient::cancelGeolocationPermissionRequestForFrame): Added
44572        * page/Geolocation.cpp: Modified.
44573        (WebCore::Geolocation::disconnectFrame): Modified. Call cancelGeolocationPermissionRequestForFrame
44574
445752010-02-23  Tony Chang  <tony@chromium.org>
44576
44577        Reviewed by Eric Seidel.
44578
44579        https://bugs.webkit.org/show_bug.cgi?id=34634
44580        Pasting a list into the middle of another list item should split the target
44581        list item into two separate list items.  This matches the behavior in other
44582        browsers.
44583
44584        Test: editing/pasteboard/paste-list-004.html
44585
44586        * editing/ReplaceSelectionCommand.cpp:
44587        (WebCore::ReplaceSelectionCommand::insertAsListItems):
44588
445892010-02-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44590
44591        Reviewed by Laszlo Gombos.
44592
44593        [Qt] Correct build problems while building QtWebKit inside Qt.
44594        https://bugs.webkit.org/show_bug.cgi?id=34975
44595
44596        * WebCore.pro: Change the condition !standalone_package to !QTDIR_build
44597
445982010-02-23  Noam Rosenthal  <noam.rosenthal@nokia.com>
44599
44600        Reviewed by Ariya Hidayat.
44601
44602        [Qt] Connect video with accelerated compositing
44603        https://bugs.webkit.org/show_bug.cgi?id=35276
44604
44605        MediaControlPrivate and GraphicsLayer are patched together via
44606        a shared PlatformLayer (QGraphicsItem). This patch makes sure that the
44607        QGraphicsVideoItem from MediaControl becomes part of the scene 
44608        associsated with GraphicsLayer
44609
44610        Test: http://double.co.nz/video_test/test1.html with AC turned on
44611
44612        * platform/graphics/qt/GraphicsLayerQt.cpp:
44613        (WebCore::GraphicsLayerQtImpl::): mediaLayer member
44614        (WebCore::GraphicsLayerQtImpl::opaqueArea): video is opaque
44615        (WebCore::GraphicsLayerQtImpl::paint): don't paint video
44616        (WebCore::GraphicsLayerQtImpl::flushChanges): flush mediaLayer
44617        (WebCore::GraphicsLayerQt::setContentsToMedia): notify
44618        * platform/graphics/qt/GraphicsLayerQt.h: reimp setContentsToMedia
44619        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
44620        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): m_compositing
44621        (WebCore::MediaPlayerPrivate::paint): don't paint if compositing
44622        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
44623        reimp from MediaPlayerPrivateInterface to support AC
44624        (WebCore::MediaPlayerPrivate::platformLayer): ditto
44625        * platform/graphics/qt/MediaPlayerPrivateQt.h: 
44626        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): ditto
44627
446282010-02-23  Stephan Aßmus  <superstippi@gmx.de>
44629
44630        Reviewed by Eric Seidel.
44631
44632        Fix various issues in PlatformWheelEventHaiku.
44633        https://bugs.webkit.org/show_bug.cgi?id=34685
44634
44635        Covered by existing tests.
44636        
44637        Fixed coding style violations.
44638        Synced extracting the correct coordinates with Haiku WebKit implementation.
44639        Added extracting modifier key flags.
44640
44641        * platform/haiku/PlatformWheelEventHaiku.cpp:
44642        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
44643
446442010-02-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44645
44646        Reviewed by Eric Seidel.
44647
44648        Build fix for PluginView
44649        https://bugs.webkit.org/show_bug.cgi?id=35230
44650
44651        No new tests, build fix only.
44652
44653        * plugins/PluginView.cpp:
44654        * plugins/PluginView.h:
44655        * plugins/PluginViewNone.cpp:
44656
446572010-02-23  Kwang Yul Seo  <skyul@company100.net>
44658
44659        Reviewed by Eric Seidel.
44660
44661        [BREWMP] Port ScriptController::createScriptInstanceForWidget
44662        https://bugs.webkit.org/show_bug.cgi?id=34413
44663
44664        * bindings/js/ScriptControllerBrew.cpp: Added.
44665        (WebCore::ScriptController::createScriptInstanceForWidget):
44666
446672010-02-23  José Millán Soto  <jmillan@igalia.com>
44668
44669        Reviewed by Eric Seidel.
44670
44671        [Gtk] Webkit crashes when using orca
44672        https://bugs.webkit.org/show_bug.cgi?id=35169
44673
44674        Made webkit_accessible_text_get_caret_offset check if end selection
44675        node is null.
44676
44677        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44678        (webkit_accessible_text_get_caret_offset):
44679
446802010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44681
44682        Reviewed by Eric Seidel.
44683
44684        [Haiku] Implemented PopupMenu support.
44685        https://bugs.webkit.org/show_bug.cgi?id=35078
44686
44687        Covered by existing tests.
44688
44689        The implementation is currently very simple: Added a PopupMenuHaiku
44690        class that derives from a native BPopUpMenu. It attaches a BHandler
44691        derivative to the BApplication (WebCore main thread) which receives
44692        the item invokation and menu hidden events and informs the PopupMenuClient
44693        accordingly.
44694
44695        * platform/PopupMenu.h:
44696            Changed type of m_menu for Haiku.
44697        * platform/haiku/PopupMenuHaiku.cpp:
44698        (WebCore::PopupMenuHandler::PopupMenuHandler):
44699        (WebCore::PopupMenuHandler::MessageReceived):
44700        (WebCore::PopupMenuHaiku::PopupMenuHaiku):
44701        (WebCore::PopupMenuHaiku::~PopupMenuHaiku):
44702        (WebCore::PopupMenuHaiku::show):
44703        (WebCore::PopupMenuHaiku::hide):
44704        (WebCore::PopupMenuHaiku::Hide):
44705        (WebCore::PopupMenu::PopupMenu):
44706        (WebCore::PopupMenu::~PopupMenu):
44707            Removed bogus code.
44708        (WebCore::PopupMenu::show):
44709            Implemented using new PopupMenuHaiku class.
44710        (WebCore::PopupMenu::hide):
44711            Implemented using new PopupMenuHaiku class.
44712        (WebCore::PopupMenu::updateFromElement):
44713            Implemented.
44714        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
44715            Implemented according to Gtk port.
44716
447172010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44718
44719        Reviewed by Eric Seidel.
44720
44721        Fix various issues in PlatformMouseEventHaiku.
44722        https://bugs.webkit.org/show_bug.cgi?id=34685
44723
44724        Covered by existing tests.
44725        
44726        Mapping Haiku button constants (bit field) to WebCore buttons was broken.
44727        Extracting event time was broken (supposed to be in seconds).
44728        Wrong coordinate was being extracted, needs to be content local.
44729        Added extracting modifier key flags.
44730
44731        * platform/haiku/PlatformMouseEventHaiku.cpp:
44732        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
44733
447342010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44735
44736        Reviewed by Eric Seidel.
44737
44738        [Haiku] Implement creating and filling platform gradients.
44739        https://bugs.webkit.org/show_bug.cgi?id=34683
44740
44741        Covered by existing tests.
44742
44743        * platform/graphics/Gradient.h:
44744            Typedef PlatformGradient to BGradient
44745        * platform/graphics/haiku/GradientHaiku.cpp:
44746        (WebCore::Gradient::platformDestroy):
44747            Delete the cached BGradient object.
44748        (WebCore::Gradient::platformGradient):
44749            Create a BGradient object according to the type of Gradient.
44750            Return the cached object.
44751        (WebCore::Gradient::fill):
44752            use BView API to fill with the platform gradient.
44753
447542010-02-22  Stephan Aßmus  <superstippi@gmx.de>
44755
44756        Reviewed by Eric Seidel.
44757
44758        Build fix for debug builds of GlyphPageTreeNode.cpp
44759        https://bugs.webkit.org/show_bug.cgi?id=34528
44760
44761        Covered by existing tests.
44762
44763        * platform/graphics/GlyphPageTreeNode.cpp:
44764            include <stdio.h> since printf() is used if NDEBUG is not defined.
44765
447662010-02-22  Nate Chapin  <japhet@chromium.org>
44767
44768        Unreviewed, Chromium build fix.
44769
44770        Add special case in CodeGeneratorV8.pm for named getters for html plugin-related elements.
44771
44772        CodeGeneratorV8.pm was relying on HasOverridingNameGetter to hint
44773        that a custom named getter was needed. That hint was removed in
44774        http://trac.webkit.org/changeset/55104.
44775
44776        * bindings/scripts/CodeGeneratorV8.pm:
44777
447782010-02-22  Alexey Proskuryakov  <ap@apple.com>
44779
44780        Rubber-stamped by Geoff Garen.
44781
44782        Rename RuntimeObjectImp to RuntimeObject.
44783
44784        * WebCore.PluginHostProcess.exp:
44785        * bindings/js/JSPluginElementFunctions.cpp:
44786        (WebCore::getRuntimeObject):
44787        (WebCore::runtimeObjectPropertyGetter):
44788        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
44789        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
44790        (WebCore::runtimeObjectCustomPut):
44791        * bindings/objc/WebScriptObject.mm:
44792        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
44793        * bridge/c/c_utility.cpp:
44794        (JSC::Bindings::convertValueToNPVariant):
44795        * bridge/jni/jni_jsobject.mm:
44796        (JavaJSObject::convertValueToJObject):
44797        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
44798        (JSC::Bindings::convertValueToJValue):
44799        * bridge/jsc/BridgeJSC.cpp:
44800        (JSC::Bindings::Instance::createRuntimeObject):
44801        (JSC::Bindings::Instance::newRuntimeObject):
44802        * bridge/jsc/BridgeJSC.h:
44803        * bridge/objc/objc_runtime.mm:
44804        (JSC::Bindings::callObjCFallbackObject):
44805        * bridge/qt/qt_instance.cpp:
44806        (JSC::Bindings::QtRuntimeObject::markChildren):
44807        (JSC::Bindings::):
44808        (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
44809        (JSC::Bindings::QtInstance::getInstance):
44810        (JSC::Bindings::QtInstance::newRuntimeObject):
44811        * bridge/qt/qt_instance.h:
44812        * bridge/qt/qt_pixmapruntime.cpp:
44813        (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
44814        (JSC::Bindings::):
44815        (JSC::Bindings::QtPixmapInstance::variantFromObject):
44816        (JSC::Bindings::QtPixmapInstance::createRuntimeObject):
44817        * bridge/qt/qt_runtime.cpp:
44818        (JSC::Bindings::valueRealType):
44819        * bridge/runtime_method.cpp:
44820        (JSC::callRuntimeMethod):
44821        * bridge/runtime_object.cpp:
44822        (JSC::RuntimeObject::RuntimeObject):
44823        (JSC::RuntimeObject::~RuntimeObject):
44824        (JSC::RuntimeObject::invalidate):
44825        (JSC::RuntimeObject::fallbackObjectGetter):
44826        (JSC::RuntimeObject::fieldGetter):
44827        (JSC::RuntimeObject::methodGetter):
44828        (JSC::RuntimeObject::getOwnPropertySlot):
44829        (JSC::RuntimeObject::getOwnPropertyDescriptor):
44830        (JSC::RuntimeObject::put):
44831        (JSC::RuntimeObject::deleteProperty):
44832        (JSC::RuntimeObject::defaultValue):
44833        (JSC::callRuntimeObject):
44834        (JSC::RuntimeObject::getCallData):
44835        (JSC::callRuntimeConstructor):
44836        (JSC::RuntimeObject::getConstructData):
44837        (JSC::RuntimeObject::getOwnPropertyNames):
44838        (JSC::RuntimeObject::throwInvalidAccessError):
44839        * bridge/runtime_object.h:
44840        * bridge/runtime_root.cpp:
44841        (JSC::Bindings::RootObject::invalidate):
44842        (JSC::Bindings::RootObject::addRuntimeObject):
44843        (JSC::Bindings::RootObject::removeRuntimeObject):
44844        * bridge/runtime_root.h:
44845
448462010-02-19  Peter Kasting  <pkasting@google.com>
44847
44848        Reviewed by Eric Seidel.
44849
44850        Avoid recursion when trying to get the size of a PNG; it's unnecessary
44851        and in the worst case can lead to heap corruption.
44852        https://bugs.webkit.org/show_bug.cgi?id=35167
44853
44854        Test: fast/images/bad-png.html
44855
44856        * platform/image-decoders/png/PNGImageDecoder.cpp:
44857        (WebCore::PNGImageReader::decode):
44858
448592010-02-22  Brady Eidson  <beidson@apple.com>
44860
44861        Reviewed by Tim Hatcher.
44862
44863        Disable WebView docking to views that are too small.
44864        <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
44865
44866        * WebCore.base.exp:
44867        * inspector/InspectorController.cpp:
44868        (WebCore::InspectorController::canAttachWindow): Provide a utility for WebKits to make a showWindow()
44869          decision based on if attachment would be allowed or not.
44870        (WebCore::InspectorController::attachWindow): Don't attach if the view is too small to attach to.
44871        * inspector/InspectorController.h:
44872
448732010-02-22  Alexey Proskuryakov  <ap@apple.com>
44874
44875        Build fix.
44876
44877        * WebCore.base.exp: Export Instance::newRuntimeObject, it's virtual!
44878
448792010-02-22  Alexey Proskuryakov  <ap@apple.com>
44880
44881        Undo a small part of the previous commit.
44882
44883        * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): Let's keep the instance local
44884        variable as RefPtr for safety.
44885
448862010-02-22  Alexey Proskuryakov  <ap@apple.com>
44887
44888        Reviewed by Darin Adler.
44889
44890        https://bugs.webkit.org/show_bug.cgi?id=35260
44891        Eliminate __apple_runtime_object
44892
44893        No change in functionality, so no tests.
44894
44895        * WebCore.base.exp: Don't export Instance::newRuntimeObject, WebKit doesn't need it.
44896
44897        * bindings/js/JSHTMLAppletElementCustom.cpp:
44898        * bindings/js/JSHTMLEmbedElementCustom.cpp:
44899        * bindings/js/JSHTMLObjectElementCustom.cpp:
44900        * html/HTMLAppletElement.idl:
44901        * html/HTMLEmbedElement.idl:
44902        * html/HTMLObjectElement.idl:
44903        These objects no longer need overriding name getters, as they no longer intercept the
44904        __apple_runtime_object property.
44905
44906        * bindings/js/JSPluginElementFunctions.cpp:
44907        (WebCore::pluginInstance): This is no longer static. It was used for callPlugin() in
44908        this file, and now it's also used elsewhere when calling plug-in methods.
44909        (WebCore::runtimeObjectGetter): Removed. This function was only used by the intercepting
44910        name getters.
44911
44912        * bindings/js/JSPluginElementFunctions.h: Export pluginInstance().
44913
44914        * bindings/objc/WebScriptObject.mm:
44915        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
44916        * bridge/runtime_method.cpp:
44917        (JSC::callRuntimeMethod):
44918        Take plug-in element's instance directly, without relying on fake attribute lookup.
44919        One change resulting from this is that RuntimeObjectImp may not be created in some cases -
44920        this code only needs an instance, but the old code had to pass the instance wrapped into
44921        RuntimeObjectImp.
44922
449232010-02-22  John Sullivan  <sullivan@apple.com>
44924        
44925        Reviewed by Tim Hatcher.
44926
44927        https://bugs.webkit.org/show_bug.cgi?id=35256
44928        HTMLSelectElement::setSelectedIndexByUser() can trigger unnecessary JS when there is no change to the selected index
44929
44930        No new tests because this code path is not used for JS-initiated changes.
44931
44932        * html/HTMLSelectElement.cpp:
44933        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
44934        Bail out if the to-be-selected index matches the already-selected index.
44935
449362010-02-22  Enrica Casucci  <enrica@apple.com>
44937
44938        Reviewed by Dan Bernstein.
44939
44940        Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
44941        <rdar://problem/7615758>
44942        https://bugs.webkit.org/show_bug.cgi?id=35060
44943
44944        Test: editing/selection/extend-byline-withfloat.html
44945
44946        * editing/visible_units.cpp:
44947        (WebCore::previousLinePosition): Skip elements with zero height.
44948        (WebCore::nextLinePosition): Skip elements with zero height.
44949
449502010-02-22  Nate Chapin  <japhet@chromium.org>
44951
44952        Unreviewed, Chromium build fix.
44953
44954        * bindings/scripts/CodeGeneratorV8.pm: Compile break due to bad patch merge.
44955
449562010-02-22  Nate Chapin  <japhet@chromium.org>
44957
44958        Reviewed by Dimitri Glazkov.
44959
44960        [V8] Streamline V8 event listener code. Merge all the variants of
44961        V8DOMWrapper::getEventListner() into a single version and generate
44962        addEventListener() and removeEventListener() bindings for all objects 
44963        except DOMWindow.
44964
44965        https://bugs.webkit.org/show_bug.cgi?id=35245
44966
44967        * Android.v8bindings.mk:
44968        * WebCore.gypi:
44969        * bindings/scripts/CodeGeneratorV8.pm:
44970        * bindings/v8/V8DOMWrapper.cpp:
44971        (WebCore::V8DOMWrapper::getEventListener):
44972        * bindings/v8/V8DOMWrapper.h:
44973        * bindings/v8/WorkerContextExecutionProxy.cpp:
44974        * bindings/v8/WorkerContextExecutionProxy.h:
44975        * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Removed.
44976        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Removed.
44977        * bindings/v8/custom/V8DOMWindowCustom.cpp:
44978        (WebCore::V8DOMWindow::addEventListenerCallback):
44979        (WebCore::V8DOMWindow::removeEventListenerCallback):
44980        * bindings/v8/custom/V8EventSourceCustom.cpp: Removed.
44981        * bindings/v8/custom/V8MessagePortCustom.cpp:
44982        * bindings/v8/custom/V8NodeCustom.cpp:
44983        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
44984        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Removed.
44985        * bindings/v8/custom/V8WebSocketCustom.cpp:
44986        * bindings/v8/custom/V8WorkerContextCustom.cpp:
44987        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
44988        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
44989        * dom/MessagePort.idl:
44990        * dom/Node.idl:
44991        * loader/appcache/DOMApplicationCache.idl:
44992        * notifications/Notification.idl:
44993        * page/EventSource.idl:
44994        * svg/SVGElementInstance.idl:
44995        * websockets/WebSocket.idl:
44996        * workers/AbstractWorker.idl:
44997        * workers/WorkerContext.idl:
44998        * xml/XMLHttpRequest.idl:
44999        * xml/XMLHttpRequestUpload.idl:
45000
450012010-02-22  Chris Fleizach  <cfleizach@apple.com>
45002
45003        Reviewed by Beth Dakin.
45004
45005        AX: AXFocused is not writable like it should be on nodes
45006        https://bugs.webkit.org/show_bug.cgi?id=35186
45007
45008        Test: platform/mac/accessibility/element-focus.html
45009
45010        * accessibility/AccessibilityRenderObject.cpp:
45011        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
45012
450132010-02-22  Simon Fraser  <simon.fraser@apple.com>
45014
45015        Reviewed by Dan Bernstein, Darin Adler.
45016
45017        Remove addScrolledContentOffset/subtractScrolledContentOffset
45018        https://bugs.webkit.org/show_bug.cgi?id=35225
45019
45020        Remove RenderLayer's addScrolledContentOffset() and subtractScrolledContentOffset()
45021        methods, and instead use the existing scrolledContentOffset(), and use
45022        IntSize and IntPoint instead of lots of x, y variables.
45023        
45024        Added new IntPoint toPoint(const IntSize&) method as a convenience to convert a size to a point,
45025        which is needed in a few places.
45026        
45027        * page/EventHandler.cpp:
45028        (WebCore::EventHandler::handleDrag): Use the new toPoint() convenience.
45029        * platform/graphics/IntPoint.h:
45030        (WebCore::toPoint): New convenience method to convert an IntSize to an IntPoint.
45031        * rendering/LayoutState.cpp:
45032        (WebCore::LayoutState::LayoutState):
45033        * rendering/RenderBlock.cpp:
45034        (WebCore::RenderBlock::layoutBlock):
45035        (WebCore::RenderBlock::paintObject):
45036        (WebCore::RenderBlock::selectionGapRectsForRepaint):
45037        (WebCore::RenderBlock::nodeAtPoint):
45038        (WebCore::RenderBlock::offsetForContents):
45039        * rendering/RenderBoxModelObject.cpp:
45040        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
45041        * rendering/RenderInline.cpp:
45042        (WebCore::RenderInline::clippedOverflowRectForRepaint):
45043        * rendering/RenderLayer.cpp:
45044        (WebCore::RenderLayer::updateLayerPosition):
45045        * rendering/RenderLayer.h:
45046        (WebCore::RenderLayer::size):
45047        * rendering/RenderObject.cpp:
45048        (WebCore::RenderObject::computeRectForRepaint):
45049        * rendering/TextControlInnerElements.cpp:
45050        (WebCore::RenderTextControlInnerBlock::positionForPoint):
45051
450522009-02-22  Adam Langley  <agl@google.com>
45053
45054        Reviewed by Darin Fisher.
45055
45056        fontconfig on Linux can change the render preferences on a per strike
45057        basis (a strike a combination of face and size). Because of this, we
45058        need to query fontconfig each time a new FontPlatformData is created
45059        for a new size.
45060
45061        This patch adds support for querying this via ChromiumBridge.
45062
45063        https://bugs.webkit.org/show_bug.cgi?id=33065
45064
45065        * platform/chromium/ChromiumBridge.h: add getRenderStyleForStrike
45066        * platform/graphics/chromium/FontCacheLinux.cpp:
45067        (WebCore::FontCache::createFontPlatformData):
45068        * platform/graphics/chromium/FontCustomPlatformData.cpp:
45069        (WebCore::FontCustomPlatformData::fontPlatformData):
45070        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
45071        (WebCore::FontPlatformData::FontPlatformData):
45072        (WebCore::FontPlatformData::operator=):
45073        (WebCore::FontPlatformData::setupPaint):
45074        (WebCore::FontPlatformData::queryStyle):
45075          add code to query fontconfig via ChromiumBridge
45076        * platform/graphics/chromium/FontPlatformDataLinux.h:
45077
450782010-02-22  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45079
45080        Build fix for make distcheck.
45081
45082        * GNUmakefile.am:
45083
450842010-02-22  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
45085
45086        Reviewed by Kenneth Rohde Christiansen.
45087
45088        Fix compiler warning "suggest parentheses around"
45089        https://bugs.webkit.org/show_bug.cgi?id=35197
45090
45091        No new tests as there is no new functionality.
45092
45093        * wml/WMLVariables.cpp:
45094        (WebCore::substituteVariableReferences):
45095
450962010-02-22  Gustavo Noronha Silva  <gns@gnome.org>
45097
45098        Reviewed by Xan Lopez.
45099
45100        [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
45101        https://bugs.webkit.org/show_bug.cgi?id=35093
45102
45103        Store message flags in WebCore objects, and set them on the
45104        SoupMessage, when creating one from them.
45105
45106        No behaviour change.
45107
45108        * platform/network/soup/ResourceHandleSoup.cpp:
45109        (WebCore::fillResponseFromMessage):
45110        * platform/network/soup/ResourceRequest.h:
45111        (WebCore::ResourceRequest::soupMessageFlags):
45112        (WebCore::ResourceRequest::setSoupMessageFlags):
45113        * platform/network/soup/ResourceRequestSoup.cpp:
45114        (WebCore::ResourceRequest::toSoupMessage):
45115        (WebCore::ResourceRequest::updateFromSoupMessage):
45116        * platform/network/soup/ResourceResponse.h:
45117        (WebCore::ResourceResponse::soupMessageFlags):
45118        (WebCore::ResourceResponse::setSoupMessageFlags):
45119        * platform/network/soup/ResourceResponseSoup.cpp:
45120        (WebCore::ResourceResponse::toSoupMessage):
45121        (WebCore::ResourceResponse::updateFromSoupMessage):
45122
451232010-02-22  Steve Block  <steveblock@google.com>
45124
45125        Reviewed by Nate Chapin.
45126
45127        Shared worker types used in globalObjectPrototypeIsDOMWindow are not properly guarded
45128        https://bugs.webkit.org/show_bug.cgi?id=35238
45129
45130        No new tests, build fix only.
45131
45132        * bindings/v8/V8DOMWrapper.cpp:
45133        (WebCore::globalObjectPrototypeIsDOMWindow):
45134
451352010-02-22  Steve Block  <steveblock@google.com>
45136
45137        Reviewed by Simon Fraser.
45138
45139        Simplifies calculation of the transform in RenderLayer::paintLayer
45140        https://bugs.webkit.org/show_bug.cgi?id=35101
45141
45142        No new tests, optimization only.
45143
45144        * rendering/RenderLayer.cpp:
45145        (WebCore::RenderLayer::paintLayer):
45146
451472010-02-22  Nicholas Young  <nicholas.young@nokia.com>
45148
45149        Reviewed by Tor Arne Vestbø.
45150
45151        [Qt] Switching from Phonon to QtMultimedia Backend for Qt 4.7
45152
45153        https://bugs.webkit.org/show_bug.cgi?id=34631
45154
45155        No new tests. This patch only affects multimedia backend.
45156
45157        * WebCore.pro: Build depends on Qt version.
45158        * css/mediaControlsQt.css: Updated media controls.
45159        * platform/graphics/MediaPlayer.cpp: Different backend included depending on Qt version.
45160        * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Added new QtMultimedia Backend.
45161        (WebCore::MediaPlayerPrivate::create):
45162        (WebCore::MediaPlayerPrivate::registerMediaEngine):
45163        (WebCore::MediaPlayerPrivate::getSupportedTypes):
45164        (WebCore::MediaPlayerPrivate::supportsType):
45165        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
45166        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
45167        (WebCore::MediaPlayerPrivate::hasVideo):
45168        (WebCore::MediaPlayerPrivate::hasAudio):
45169        (WebCore::MediaPlayerPrivate::load):
45170        (WebCore::MediaPlayerPrivate::cancelLoad):
45171        (WebCore::MediaPlayerPrivate::play):
45172        (WebCore::MediaPlayerPrivate::pause):
45173        (WebCore::MediaPlayerPrivate::paused):
45174        (WebCore::MediaPlayerPrivate::seek):
45175        (WebCore::MediaPlayerPrivate::seeking):
45176        (WebCore::MediaPlayerPrivate::duration):
45177        (WebCore::MediaPlayerPrivate::currentTime):
45178        (WebCore::MediaPlayerPrivate::buffered):
45179        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
45180        (WebCore::MediaPlayerPrivate::bytesLoaded):
45181        (WebCore::MediaPlayerPrivate::totalBytes):
45182        (WebCore::MediaPlayerPrivate::setRate):
45183        (WebCore::MediaPlayerPrivate::setVolume):
45184        (WebCore::MediaPlayerPrivate::supportsMuting):
45185        (WebCore::MediaPlayerPrivate::setMuted):
45186        (WebCore::MediaPlayerPrivate::networkState):
45187        (WebCore::MediaPlayerPrivate::readyState):
45188        (WebCore::MediaPlayerPrivate::setVisible):
45189        (WebCore::MediaPlayerPrivate::mediaStatusChanged):
45190        (WebCore::MediaPlayerPrivate::handleError):
45191        (WebCore::MediaPlayerPrivate::stateChanged):
45192        (WebCore::MediaPlayerPrivate::nativeSizeChanged):
45193        (WebCore::MediaPlayerPrivate::queuedSeekTimeout):
45194        (WebCore::MediaPlayerPrivate::seekTimeout):
45195        (WebCore::MediaPlayerPrivate::positionChanged):
45196        (WebCore::MediaPlayerPrivate::durationChanged):
45197        (WebCore::MediaPlayerPrivate::volumeChanged):
45198        (WebCore::MediaPlayerPrivate::mutedChanged):
45199        (WebCore::MediaPlayerPrivate::updateStates):
45200        (WebCore::MediaPlayerPrivate::setSize):
45201        (WebCore::MediaPlayerPrivate::naturalSize):
45202        (WebCore::MediaPlayerPrivate::paint):
45203        (WebCore::MediaPlayerPrivate::repaint):
45204        * platform/graphics/qt/MediaPlayerPrivateQt.h: Added new QtMultimedia Backend.
45205        (WebCore::MediaPlayerPrivate::isAvailable):
45206        (WebCore::MediaPlayerPrivate::supportsFullscreen):
45207        * platform/qt/RenderThemeQt.cpp:
45208        (WebCore::RenderThemeQt::mediaControlsBaselineOpacity): New method.
45209        (WebCore::RenderThemeQt::paintMediaBackground): Background depends on baseline opacity.
45210        (WebCore::RenderThemeQt::paintMediaMuteButton): Changed styling.
45211        (WebCore::RenderThemeQt::paintMediaCurrentTime): Added current time display.
45212        (WebCore::RenderThemeQt::formatMediaControlsCurrentTime): Added time formatting.
45213        (WebCore::RenderThemeQt::formatMediaControlsRemainingTime): Added time formatting.
45214        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack): Volume slider added.
45215        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb): Volume slider added.
45216        (WebCore::RenderThemeQt::paintMediaSliderTrack): Updated for QtMultimedia.
45217        (WebCore::RenderThemeQt::paintMediaSliderThumb): Dropped an unnecessary check.
45218        (WebCore::RenderThemeQt::adjustSliderThumbSize): Handle a missing case.
45219        * platform/qt/RenderThemeQt.h: Reimplemented a few more methods.
45220
452212010-02-22  Alexander Pavlov  <apavlov@chromium.org>
45222
45223        Not reviewed: mac build fix
45224
45225        * bindings/js/ScriptDebugServer.cpp:
45226        (WebCore::ScriptDebugServer::ScriptDebugServer):
45227
452282010-02-22  Alexander Pavlov  <apavlov@chromium.org>
45229
45230        Reviewed by Pavel Feldman.
45231
45232        Web Inspector: there should be a way to "deactivate" or "skip" all breakpoints while debugging.
45233        https://bugs.webkit.org/show_bug.cgi?id=33217
45234
45235        * English.lproj/localizedStrings.js:
45236        * bindings/js/ScriptDebugServer.cpp:
45237        (WebCore::ScriptDebugServer::ScriptDebugServer):
45238        (WebCore::ScriptDebugServer::hasBreakpoint):
45239        (WebCore::ScriptDebugServer::setBreakpointsActivated):
45240        * bindings/js/ScriptDebugServer.h:
45241        * bindings/v8/ScriptDebugServer.h:
45242        (WebCore::ScriptDebugServer::setBreakpointsActivated):
45243        * inspector/InspectorBackend.cpp:
45244        (WebCore::InspectorBackend::activateBreakpoints):
45245        (WebCore::InspectorBackend::deactivateBreakpoints):
45246        * inspector/InspectorBackend.h:
45247        * inspector/InspectorBackend.idl:
45248        * inspector/front-end/Images/deactivateBreakpointsButtonGlyph.png: Added.
45249        * inspector/front-end/Images/deactivateBreakpointsDisabledButtonGlyph.png: Added.
45250        * inspector/front-end/InspectorBackendStub.js:
45251        (.WebInspector.InspectorBackendStub.prototype.activateBreakpoints):
45252        (.WebInspector.InspectorBackendStub.prototype.deactivateBreakpoints):
45253        * inspector/front-end/ScriptsPanel.js:
45254        (WebInspector.ScriptsPanel):
45255        (WebInspector.ScriptsPanel.prototype.get breakpointsActivated):
45256        (WebInspector.ScriptsPanel.prototype.addBreakpoint):
45257        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
45258        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
45259        * inspector/front-end/inspector.css:
45260        * inspector/front-end/textViewer.css:
45261
452622010-02-22  Mark Rowe  <mrowe@apple.com>
45263
45264        Rubber-stamped by Sam Weinig and Maciej Stachowiak.
45265
45266        REGRESSION (r55039): Animation starts from near end when loaded over slow network
45267        <http://webkit.org/b/35222> / <rdar://problem/7673523>
45268
45269        Roll out r55039 (related to <http://webkit.org/b/35115>) as it causes animated GIFs
45270        to skip intermediate frames when loading over a slower network.
45271
45272        * platform/graphics/BitmapImage.cpp:
45273        (WebCore::BitmapImage::startAnimation):
45274
452752010-02-22  Maciej Stachowiak  <mjs@apple.com>
45276
45277        Not reviewed, build fix.
45278        
45279        Revert the previous change.
45280        
452812010-02-21  Maciej Stachowiak  <mjs@apple.com>
45282
45283        Reviewed by Darin Adler.
45284
45285        Cache JavaScript wrappers inline in DOM nodes
45286        https://bugs.webkit.org/show_bug.cgi?id=35226
45287        <rdar://problem/7664202>
45288
45289        8.8% speedup on Dromaeo DOM Core tests.
45290        3.3% speedup on Hixie DOM Core tests.
45291        
45292        * bindings/js/JSDOMBinding.cpp:
45293        (WebCore::forgetDOMNode): Clear wrapper pointer.
45294        (WebCore::cacheDOMNodeWrapper): Cache inline too if caching for normal world.
45295        * bindings/js/JSDOMBinding.h:
45296        (WebCore::DOMObjectWrapperMapFor): 
45297        * bindings/js/JSDocumentCustom.cpp:
45298        (WebCore::toJS): Remove unneeded argument from getCachedDOMNodeWrapper.
45299        * bindings/js/JSNodeCustom.cpp:
45300        (WebCore::createWrapperInline): Renamed version of original createWrapper.
45301        (WebCore::createWrapper): Call createWrapperInline. Out-of-line version.
45302        (WebCore::toJSNewlyCreated): Call createWrapperInline instead of createWrapper.
45303        * bindings/js/JSNodeCustom.h: Added.
45304        (WebCore::getCachedDOMNodeWrapper): Moved here so it can be inlined.
45305        (WebCore::toJS): Moved here so it can be inlined.
45306        * bindings/js/ScriptWrappable.h:
45307        (WebCore::ScriptWrappable::ScriptWrappable): Implement this in the obvious
45308        way for JavaScriptCore.
45309        (WebCore::ScriptWrappable::wrapper):
45310        (WebCore::ScriptWrappable::setWrapper):
45311        (WebCore::ScriptWrappable::clearWrapper):
45312        * bindings/scripts/CodeGeneratorJS.pm: Include CustomHeader heaaders
45313        in the header, not just the impl file, so they can add inlining.
45314        * dom/Node.idl: Add CustomHeader directive.
45315        
45316        Add new files to build.
45317
45318        * GNUmakefile.am:
45319        * WebCore.gypi:
45320        * WebCore.pro:
45321        * WebCore.vcproj/WebCore.vcproj:
45322
453232010-02-22  Pavel Feldman  <pfeldman@chromium.org>
45324
45325        Not reviewed: windows build fix.
45326
453272010-02-21  Pavel Feldman  <pfeldman@chromium.org>
45328
45329        Reviewed by Timothy Hatcher.
45330
45331        Web Inspector: stop on inline breakpoints on reload.
45332        - ScriptBreakpoint struct has been introduced and reused in InspectorController
45333          and debug server.
45334        - JavaScriptDebugServer was moved to bindings/js and renamed to ScriptDebugServer
45335          There were no changes to semantics, only some mechanical changes:
45336            - addBreakpoint and updateBreakpoint were merged into setBreakpoint
45337            - ScriptDebugServer now operates ScriptBreakpoint instances instead of
45338              BreakpointInfo.
45339            - It no longer allocates maps and breakpoint info in heap - all done on stack.
45340            - JavaScriptDebugListener is now ScriptDebugServer::Listener
45341            - Listener methods no longer have ExecState (was unused).
45342            - addListener/removeListener pair wuth no page argument removed (was unused).
45343        - InspectorController now binds sourceID to url and maintains a map of 'sticky'
45344          breakpoints. Whenever script is loaded and there is a sticky breakpoint url matching,
45345          breakpoint is being 'restored' synchronously in debug server and pushed to frontend.
45346          Front-end no longer stores map of sticky breakpoints.
45347            - setBreakpoint/removeBreakpoint/didParseSource trio handle this logic.
45348        - A bunch of if(USE_JSC/V8/other) forks removed.
45349        - InspectorFrontend now operates primitive types only, got rid of USE_JSC as well.
45350
45351        https://bugs.webkit.org/show_bug.cgi?id=28799
45352
45353        * GNUmakefile.am:
45354        * WebCore.base.exp:
45355        * WebCore.gypi:
45356        * WebCore.order:
45357        * WebCore.pro:
45358        * WebCore.vcproj/WebCore.vcproj:
45359        * WebCore.xcodeproj/project.pbxproj:
45360        * bindings/js/JSInjectedScriptHostCustom.cpp:
45361        (WebCore::JSInjectedScriptHost::currentCallFrame):
45362        (WebCore::JSInjectedScriptHost::isActivation):
45363        * bindings/js/ScriptDebugServer.cpp:
45364        (WebCore::ScriptDebugServer::shared):
45365        (WebCore::ScriptDebugServer::ScriptDebugServer):
45366        (WebCore::ScriptDebugServer::~ScriptDebugServer):
45367        (WebCore::ScriptDebugServer::addListener):
45368        (WebCore::ScriptDebugServer::removeListener):
45369        (WebCore::ScriptDebugServer::pageCreated):
45370        (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
45371        (WebCore::ScriptDebugServer::setBreakpoint):
45372        (WebCore::ScriptDebugServer::removeBreakpoint):
45373        (WebCore::ScriptDebugServer::hasBreakpoint):
45374        (WebCore::ScriptDebugServer::clearBreakpoints):
45375        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
45376        (WebCore::ScriptDebugServer::pauseProgram):
45377        (WebCore::ScriptDebugServer::continueProgram):
45378        (WebCore::ScriptDebugServer::stepIntoStatement):
45379        (WebCore::ScriptDebugServer::stepOverStatement):
45380        (WebCore::ScriptDebugServer::stepOutOfFunction):
45381        (WebCore::ScriptDebugServer::currentCallFrame):
45382        (WebCore::ScriptDebugServer::currentCallFrameState):
45383        (WebCore::ScriptDebugServer::dispatchDidParseSource):
45384        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
45385        (WebCore::toPage):
45386        (WebCore::ScriptDebugServer::detach):
45387        (WebCore::ScriptDebugServer::sourceParsed):
45388        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
45389        (WebCore::ScriptDebugServer::setJavaScriptPaused):
45390        (WebCore::ScriptDebugServer::pauseIfNeeded):
45391        (WebCore::ScriptDebugServer::callEvent):
45392        (WebCore::ScriptDebugServer::atStatement):
45393        (WebCore::ScriptDebugServer::returnEvent):
45394        (WebCore::ScriptDebugServer::exception):
45395        (WebCore::ScriptDebugServer::willExecuteProgram):
45396        (WebCore::ScriptDebugServer::didExecuteProgram):
45397        (WebCore::ScriptDebugServer::didReachBreakpoint):
45398        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
45399        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
45400        (WebCore::ScriptDebugServer::didAddListener):
45401        (WebCore::ScriptDebugServer::didRemoveListener):
45402        (WebCore::ScriptDebugServer::didRemoveLastListener):
45403        * bindings/js/ScriptDebugServer.h:
45404        (WebCore::ScriptDebugServer::Listener::~Listener):
45405        (WebCore::ScriptDebugServer::):
45406        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
45407        (WebCore::ScriptDebugServer::hasListeners):
45408        (WebCore::ScriptDebugServer::hasGlobalListeners):
45409        * bindings/v8/ScriptDebugServer.cpp:
45410        (WebCore::ScriptDebugServer::shared):
45411        * bindings/v8/ScriptDebugServer.h:
45412        (WebCore::ScriptDebugServer::Listener::~Listener):
45413        (WebCore::ScriptDebugServer::addListener):
45414        (WebCore::ScriptDebugServer::removeListener):
45415        (WebCore::ScriptDebugServer::setBreakpoint):
45416        (WebCore::ScriptDebugServer::removeBreakpoint):
45417        (WebCore::ScriptDebugServer::clearBreakpoints):
45418        (WebCore::ScriptDebugServer::):
45419        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
45420        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
45421        (WebCore::ScriptDebugServer::pauseProgram):
45422        (WebCore::ScriptDebugServer::continueProgram):
45423        (WebCore::ScriptDebugServer::stepIntoStatement):
45424        (WebCore::ScriptDebugServer::stepOverStatement):
45425        (WebCore::ScriptDebugServer::stepOutOfFunction):
45426        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
45427        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
45428        (WebCore::ScriptDebugServer::currentCallFrameState):
45429        (WebCore::ScriptDebugServer::pageCreated):
45430        (WebCore::ScriptDebugServer::ScriptDebugServer):
45431        (WebCore::ScriptDebugServer::~ScriptDebugServer):
45432        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
45433        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
45434        (WebCore::V8InjectedScriptHost::isActivationCallback):
45435        * inspector/InjectedScriptHost.cpp:
45436        * inspector/InjectedScriptHost.h:
45437        * inspector/InjectedScriptHost.idl:
45438        * inspector/InspectorBackend.cpp:
45439        (WebCore::InspectorBackend::setBreakpoint):
45440        (WebCore::InspectorBackend::removeBreakpoint):
45441        (WebCore::InspectorBackend::pauseInDebugger):
45442        (WebCore::InspectorBackend::stepOverStatementInDebugger):
45443        (WebCore::InspectorBackend::stepIntoStatementInDebugger):
45444        (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
45445        (WebCore::InspectorBackend::pauseOnExceptionsState):
45446        (WebCore::InspectorBackend::setPauseOnExceptionsState):
45447        * inspector/InspectorBackend.h:
45448        * inspector/InspectorBackend.idl:
45449        * inspector/ScriptBreakpoint.h: Added.
45450        (WebCore::InspectorBreakpoint::InspectorBreakpoint):
45451        * inspector/InspectorController.cpp:
45452        (WebCore::InspectorController::InspectorController):
45453        (WebCore::InspectorController::setWindowVisible):
45454        (WebCore::InspectorController::scriptObjectReady):
45455        (WebCore::InspectorController::close):
45456        (WebCore::InspectorController::didCommitLoad):
45457        (WebCore::InspectorController::addProfile):
45458        (WebCore::InspectorController::startUserInitiatedProfiling):
45459        (WebCore::InspectorController::stopUserInitiatedProfiling):
45460        (WebCore::InspectorController::enableProfiler):
45461        (WebCore::InspectorController::disableProfiler):
45462        (WebCore::InspectorController::enableDebuggerFromFrontend):
45463        (WebCore::InspectorController::disableDebugger):
45464        (WebCore::InspectorController::resumeDebugger):
45465        (WebCore::InspectorController::setBreakpoint):
45466        (WebCore::InspectorController::removeBreakpoint):
45467        (WebCore::InspectorController::didParseSource):
45468        (WebCore::InspectorController::failedToParseSource):
45469        (WebCore::InspectorController::didPause):
45470        * inspector/InspectorController.h:
45471        * inspector/InspectorFrontend.cpp:
45472        (WebCore::InspectorFrontend::parsedScriptSource):
45473        (WebCore::InspectorFrontend::restoredBreakpoint):
45474        (WebCore::InspectorFrontend::failedToParseScriptSource):
45475        (WebCore::InspectorFrontend::resumedScript):
45476        * inspector/InspectorFrontend.h:
45477        * inspector/JavaScriptDebugListener.h: Removed.
45478        * inspector/JavaScriptDebugServer.cpp: Removed.
45479        * inspector/JavaScriptDebugServer.h: Removed.
45480        * inspector/front-end/Breakpoint.js:
45481        (WebInspector.Breakpoint.prototype.set condition):
45482        * inspector/front-end/BreakpointsSidebarPane.js:
45483        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
45484        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
45485        * inspector/front-end/InspectorBackendStub.js:
45486        (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
45487        * inspector/front-end/ResourcesPanel.js:
45488        (WebInspector.ResourcesPanel.prototype.sourceFrameForResource):
45489        * inspector/front-end/ScriptsPanel.js:
45490        (WebInspector.ScriptsPanel):
45491        (WebInspector.ScriptsPanel.prototype.addScript):
45492        (WebInspector.ScriptsPanel.prototype.addBreakpoint):
45493        (WebInspector.ScriptsPanel.prototype.removeBreakpoint):
45494        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
45495        * inspector/front-end/inspector.js:
45496        (WebInspector.restoredBreakpoint):
45497        * page/Page.cpp:
45498        (WebCore::Page::Page):
45499        * platform/android/TemporaryLinkStubs.cpp:
45500
455012010-02-21  Gavin Barraclough  <barraclough@apple.com>
45502
45503        Reviewed by Oliver Hunt.
45504
45505        Make the UChar owned/ref-counted by StringImpl::CrossThreadRefCounted be const.
45506
45507        * platform/text/StringImpl.cpp:
45508        (WebCore::StringImpl::sharedBuffer):
45509        * platform/text/StringImpl.h:
45510
455112010-02-07  Yuzo Fujishima  <yuzo@google.com>
45512
45513        Reviewed by Eric Seidel.
45514
45515        When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
45516        RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
45517        Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
45518        https://bugs.webkit.org/show_bug.cgi?id=9526
45519
45520        Test: printing/page-break-always-for-overflow.html
45521
45522        * rendering/RenderBlock.cpp:
45523        (WebCore::RenderBlock::paintChildren):
45524        * rendering/RenderBlock.h:
45525
455262010-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
45527
45528        Reviewed by Eric Seidel.
45529
45530        Remove auto_ptr usage in WebCore.
45531        https://bugs.webkit.org/show_bug.cgi?id=35157
45532
45533        The changes consists of:
45534
45535        - Changing auto_ptr arguments or return types to PassOwnPtr.
45536
45537        - Replacing local auto_ptr by OwnPtr.
45538
45539        - Removing now unneeded <memory> inclusion.
45540
45541        * css/CSSParser.cpp:
45542        (WebCore::CSSParser::addProperty):
45543        * loader/WorkerThreadableLoader.cpp:
45544        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
45545        (WebCore::workerContextDidReceiveResponse):
45546        (WebCore::workerContextDidReceiveData):
45547        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
45548        (WebCore::workerContextDidReceiveAuthenticationCancellation):
45549        * loader/WorkerThreadableLoader.h:
45550        * loader/icon/IconLoader.cpp:
45551        (WebCore::IconLoader::create):
45552        * loader/icon/IconLoader.h:
45553        * platform/ContextMenu.cpp:
45554        (WebCore::separatorItem):
45555        * platform/CrossThreadCopier.h:
45556        (WebCore::):
45557        * platform/network/HTTPHeaderMap.cpp:
45558        (WebCore::HTTPHeaderMap::copyData):
45559        (WebCore::HTTPHeaderMap::adopt):
45560        * platform/network/HTTPHeaderMap.h:
45561        * platform/network/ResourceRequestBase.cpp:
45562        (WebCore::ResourceRequestBase::adopt):
45563        (WebCore::ResourceRequestBase::copyData):
45564        * platform/network/ResourceRequestBase.h:
45565        * platform/network/ResourceResponseBase.cpp:
45566        (WebCore::ResourceResponseBase::adopt):
45567        (WebCore::ResourceResponseBase::copyData):
45568        * platform/network/ResourceResponseBase.h:
45569        * svg/SVGDocumentExtensions.cpp:
45570        (WebCore::SVGDocumentExtensions::removePendingResource):
45571        * svg/SVGDocumentExtensions.h:
45572        * svg/SVGElement.cpp:
45573        (WebCore::SVGElement::insertedIntoDocument):
45574        * workers/GenericWorkerTask.h:
45575        * workers/WorkerThread.cpp:
45576        (WebCore::WorkerThreadStartupData::create):
45577
455782010-02-21  Simon Fraser  <simon.fraser@apple.com>
45579
45580        Reviewed by Dan Bernstein.
45581
45582        https://bugs.webkit.org/show_bug.cgi?id=22215
45583        Avoid calling absoluteClippedOverflowRect() so many times
45584
45585        RenderLayer::updateLayerPositions() computes the clipped overflow rect
45586        and the outline bounds for repaint, and then calls repaintAfterLayoutIfNeeded()
45587        which can compute the same rects all over again. Avoid this by passing
45588        these two rects into repaintAfterLayoutIfNeeded() if known. This measurably
45589        reduces the time spent in updateLayerPositions() for some content.
45590
45591        * rendering/RenderLayer.cpp:
45592        (WebCore::RenderLayer::updateLayerPositions):
45593        * rendering/RenderObject.cpp:
45594        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
45595        * rendering/RenderObject.h:
45596
455972010-02-20  Alexey Proskuryakov  <ap@apple.com>
45598
45599        Reviewed by Maciej Stachowiak.
45600
45601        https://bugs.webkit.org/show_bug.cgi?id=35202
45602        <rdar://problem/4856597> Calling Java method which accepts Object always passes a null argument
45603
45604        * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue): Add cases for
45605        other JS types.
45606
456072010-02-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
45608
45609        Reviewed by Darin Adler.
45610
45611        Fix compiler warning "suggest parentheses around"
45612        https://bugs.webkit.org/show_bug.cgi?id=35197
45613
45614        No new tests as there is no new functionality.
45615
45616        * html/DateComponents.cpp:
45617        (WebCore::beforeGregorianStartDate):
45618        * plugins/PluginDatabase.cpp:
45619        (WebCore::PluginDatabase::findPlugin):
45620
456212010-02-20  Noam Rosenthal  <noam.rosenthal@nokia.com>
45622
45623        Reviewed by Laszlo Gombos.
45624
45625        [Qt] ENABLE_3D_RENDERING should be optional
45626        https://bugs.webkit.org/show_bug.cgi?id=35100
45627
45628        No new tests: this is a build fix.
45629
45630        * WebCore.pri: ENABLE_3D_RENDERING is now a proper feature test
45631
456322010-02-20  Alexey Proskuryakov  <ap@apple.com>
45633
45634        Reviewed by Maciej Stachowiak.
45635
45636        https://bugs.webkit.org/show_bug.cgi?id=23742
45637        Applet methods can not return arrays to JS
45638
45639        * bridge/jni/jsc/JNIBridgeJSC.cpp: (JavaArray::JavaArray): Don't accidentally zero out
45640        m_rootObject (that's how PassRefPtr works). Without m_rootObject, we crash quickly.
45641
45642        * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Do handle returned arrays.
45643        Also, added an ifdef around  code that's only needed on Tiger, and removed a comment saying
45644        it can be removed when "new" plugin ships. I doubt that anyone can remember what "new"
45645        could refer to back then.
45646
456472010-02-20  Pavel Feldman  <pfeldman@chromium.org>
45648
45649        Reviewed by Timothy Hatcher.
45650
45651        Web Inspector: re-creating view in ResourcesPanel confuses ScriptsPanel's visibleView logic.
45652
45653        https://bugs.webkit.org/show_bug.cgi?id=35192
45654
45655        * inspector/front-end/ResourcesPanel.js:
45656        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
45657        * inspector/front-end/ScriptsPanel.js:
45658        (WebInspector.ScriptsPanel.prototype.show):
45659        (WebInspector.ScriptsPanel.prototype.viewRecreated):
45660
456612010-02-20  Pavel Feldman  <pfeldman@chromium.org>
45662
45663        Reviewed by Timothy Hatcher.
45664
45665        Web Inspector: need to highlight the evaluated expression used for popovers.
45666
45667        https://bugs.webkit.org/show_bug.cgi?id=35126
45668
45669        * inspector/front-end/SourceFrame.js:
45670        (WebInspector.SourceFrame.prototype._mouseMove):
45671        (WebInspector.SourceFrame.prototype._hidePopup):
45672        (WebInspector.SourceFrame.prototype._mouseHover):
45673        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
45674        (WebInspector.SourceFrame.prototype._showPopup):
45675        * inspector/front-end/inspector.css:
45676
456772010-02-20  Gustavo Noronha Silva  <gns@gnome.org>
45678
45679        Roll out 55047 because it causes layout, and API tests to fail
45680
456812010-02-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
45682
45683        Reviewed by Xan Lopez.
45684
45685        [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
45686        https://bugs.webkit.org/show_bug.cgi?id=35093
45687
45688        Refactor updating of ResourceResponse objects from soup message
45689        objects, to avoid code duplication.
45690
45691        No behaviour change.
45692
45693        * platform/network/soup/ResourceHandleSoup.cpp:
45694        (WebCore::fillResponseFromMessage):
45695        * platform/network/soup/ResourceResponseSoup.cpp:
45696        (WebCore::ResourceResponse::updateFromSoupMessage):
45697
456982010-02-20  Alexey Proskuryakov  <ap@apple.com>
45699
45700        Reviewed by Maciej Stachowiak.
45701
45702        https://bugs.webkit.org/show_bug.cgi?id=35190
45703        Don't use system malloc in Java bindings
45704
45705        * bridge/jni/jsc/JavaInstanceJSC.cpp: (JavaInstance::invokeMethod): Switched to WTF::Vector.
45706
457072010-02-20  Alexey Proskuryakov  <ap@apple.com>
45708
45709        Reviewed by Maciej Stachowiak.
45710
45711        https://bugs.webkit.org/show_bug.cgi?id=9761
45712        LiveConnect string conversion fails for java.lang.Object
45713
45714        Can't test Java in DRT (I wonder why).
45715
45716        * bridge/jni/jsc/JNIUtilityPrivate.cpp: (JSC::Bindings::convertValueToJValue):
45717        Added the necessary conversion. Also, removed CONVERT_NULL_TO_EMPTY_STRING dead code.
45718
457192010-02-19  Maciej Stachowiak  <mjs@apple.com>
45720
45721        Reviewed by David Levin.
45722
45723        Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
45724        https://bugs.webkit.org/show_bug.cgi?id=35147
45725
45726        I made ENABLE(SANDBOX) only control the sandbox attribute itself;
45727        I did not ifdef the infrastructure to make sandboxing
45728        switchable. This is because the likely concerns about sandboxing
45729        are not stability of the infrastructure code, but rather the fact
45730        that the security model exposed to authors is still evolving.
45731
45732        * Configurations/FeatureDefines.xcconfig:
45733        * GNUmakefile.am:
45734        * WebCore.pri:
45735        * html/HTMLIFrameElement.cpp:
45736        (WebCore::HTMLIFrameElement::parseMappedAttribute):
45737
457382010-02-19  Alexey Proskuryakov  <ap@apple.com>
45739
45740        Reviewed by Maciej Stachowiak.
45741
45742        https://bugs.webkit.org/show_bug.cgi?id=35132
45743        <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
45744
45745        * page/EventHandler.cpp: (WebCore::EventHandler::handleMouseMoveEvent): Don't set mouse
45746        pointer when above a plug-in or applet to prevent flicker.
45747
457482010-02-18  Peter Kasting  <pkasting@google.com>
45749
45750        Reviewed by Adam Barth.
45751
45752        Fix regression in calculating an animated image's start time.
45753        https://bugs.webkit.org/show_bug.cgi?id=35115
45754
45755        * platform/graphics/BitmapImage.cpp:
45756        (WebCore::BitmapImage::startAnimation):
45757
457582010-02-19  Alexey Proskuryakov  <ap@apple.com>
45759
45760        Reviewed by Geoffrey Garen.
45761
45762        https://bugs.webkit.org/show_bug.cgi?id=35178
45763        LiveConnect code uses hand-rolled fprintf logging
45764
45765        Changed to use LOG, LOG_ERROR and ASSERT.
45766
45767        * platform/Logging.cpp:
45768        (WebCore::getChannelFromName):
45769        * platform/Logging.h:
45770        * platform/mac/LoggingMac.mm:
45771        (WebCore::InitializeLoggingChannelsIfNecessary):
45772        * platform/win/LoggingWin.cpp:
45773        (WebCore::InitializeLoggingChannelsIfNecessary):
45774        TextConversion channel was (almost) unused, renamed to LiveConnect.
45775
45776        * platform/text/gtk/TextCodecGtk.cpp: (WebCore::TextCodecGtk::registerEncodingNames):
45777        The only use of this channel was in platform specific code, commandeered it for cross-platform
45778        needs.
45779
45780        * bridge/jni/JNIBridge.cpp:
45781        * bridge/jni/JNIUtility.cpp:
45782        (JSC::Bindings::getJavaVM):
45783        (JSC::Bindings::getJNIEnv):
45784        (JSC::Bindings::getJNIField):
45785        * bridge/jni/JNIUtility.h:
45786        (JSC::Bindings::callJNIMethodV):
45787        (JSC::Bindings::callJNIStaticMethod):
45788        * bridge/jni/jni_jsobject.mm:
45789        (completedJavaScriptAccess):
45790        (dispatchToJavaScriptThread):
45791        (performJavaScriptAccess):
45792        (JavaJSObject::invoke):
45793        (JavaJSObject::call):
45794        (JavaJSObject::eval):
45795        (JavaJSObject::getMember):
45796        (JavaJSObject::setMember):
45797        (JavaJSObject::removeMember):
45798        (JavaJSObject::getSlot):
45799        (JavaJSObject::setSlot):
45800        (JavaJSObject::toString):
45801        (JavaJSObject::createNative):
45802        * bridge/jni/jsc/JNIBridgeJSC.cpp:
45803        (JavaField::valueFromInstance):
45804        (JavaField::setValueToInstance):
45805        * bridge/jni/jsc/JavaClassJSC.cpp:
45806        (JavaClass::JavaClass):
45807        * bridge/jni/jsc/JavaInstanceJSC.cpp:
45808        (JavaInstance::invokeMethod):
45809        (JObjectWrapper::JObjectWrapper):
45810        (JObjectWrapper::~JObjectWrapper):
45811
458122010-02-19  Dirk Schulze  <krit@webkit.org>
45813
45814        Reviewed by Nikolas Zimmermann.
45815
45816        RenderSVGResourceMasker causes an Assert on Wind builds during DRT
45817        https://bugs.webkit.org/show_bug.cgi?id=35182
45818
45819        We remove the Assert for now and return earlier, if the HashMap of the Masker
45820        does not contain the RenderObject. The RenderObject is an identifiert to get
45821        a already calculated mask.
45822        A race condition during parsing can cause the invalidation call, before the mask
45823        got calculated (only during DRT on Win build bots).
45824        The real bug will be fixed with: https://bugs.webkit.org/show_bug.cgi?id=35181
45825
45826        * rendering/RenderSVGResourceMasker.cpp:
45827        (WebCore::RenderSVGResourceMasker::invalidateClient):
45828
458292010-02-18  Peter Kasting  <pkasting@google.com>
45830
45831        Reviewed by Darin Fisher.
45832
45833        Make Pasteboard::writeImage() safe against NULL cachedImages, and clean
45834        up some code.
45835        https://bugs.webkit.org/show_bug.cgi?id=35136
45836
45837        * loader/ImageLoader.cpp:
45838        (WebCore::ImageLoader::updateRenderer): Shorten some code.
45839        * page/DragController.cpp:
45840        (WebCore::getImage): Shorten some code.
45841        * platform/chromium/PasteboardChromium.cpp:
45842        (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45843        * platform/gtk/PasteboardGtk.cpp:
45844        (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45845        * platform/mac/PasteboardMac.mm:
45846        (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45847        * platform/qt/PasteboardQt.cpp:
45848        (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45849        * platform/win/PasteboardWin.cpp:
45850        (WebCore::Pasteboard::writeImage): NULL-check cachedImage().
45851
458522010-02-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
45853
45854        Rubberstamped by Noam Rosenthal, who wrote the original code.
45855
45856        Make mouse wheel scrolling work when using the GraphicsLayer.
45857
45858        * platform/graphics/qt/GraphicsLayerQt.cpp:
45859        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
45860
458612010-02-19  Nate Chapin  <japhet@chromium.org>
45862
45863        Reviewed by Dimitri Glazkov.
45864
45865        [V8] Fix Worker crash regression in r54972
45866
45867        https://bugs.webkit.org/show_bug.cgi?id=35166
45868
45869        * bindings/v8/V8DOMWrapper.cpp:
45870        (WebCore::V8DOMWrapper::instantiateV8Object): Properly unwrap global objects when inside a WorkerContext.
45871
458722010-02-19  Steve Block  <steveblock@google.com>
45873
45874        Not reviewed. Reverts r55020 which causes crashes in Chromium LayoutTests
45875
45876        * bindings/generic/RuntimeEnabledFeatures.cpp:
45877        * storage/Database.cpp:
45878
458792010-02-19  Steve Block  <steveblock@google.com>
45880
45881        Reviewed by David Levin.
45882
45883        Sets default values of V8 runtime enabler flags to match behavior with JSC
45884        https://bugs.webkit.org/show_bug.cgi?id=35095
45885
45886        No new tests, modifies a Chromium feature only.
45887
45888        * bindings/generic/RuntimeEnabledFeatures.cpp: Modified. Sets appcache and geolocation flag defaults to 'on'
45889        * storage/Database.cpp: Modified. Sets database flag default to 'on'.
45890
458912010-02-19  Alexander Pavlov  <apavlov@chromium.org>
45892
45893        Reviewed by Pavel Feldman.
45894
45895        WebInspector: Elements panel: Correctly show empty elements' ending tags
45896        for XML and HTML documents.
45897        https://bugs.webkit.org/show_bug.cgi?id=26315
45898
45899        Test: inspector/elements-panel-xhtml-structure.xhtml
45900
45901        * inspector/InspectorController.cpp:
45902        (WebCore::InspectorController::populateScriptObjects):
45903        * inspector/front-end/ElementsTreeOutline.js:
45904        (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
45905        (WebInspector.ElementsTreeOutline.prototype.get isXMLMimeType):
45906        (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
45907        (WebInspector.ElementsTreeElement.prototype.onexpand):
45908        (WebInspector.ElementsTreeElement.prototype.oncollapse):
45909        (WebInspector.ElementsTreeElement.prototype.updateTitle.callback):
45910        (WebInspector.ElementsTreeElement.prototype.updateTitle):
45911        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
45912
459132010-02-19  Pavel Feldman  <pfeldman@chromium.org>
45914
45915        Not reviewed. Chromium build fix: reverting r54997 and r54998.
45916
45917        * bindings/v8/custom/V8LocationCustom.cpp:
45918        (WebCore::V8Location::protocolAccessorSetter):
45919        * platform/KURLGoogle.cpp:
45920        (WebCore::KURL::setProtocol):
45921        (WebCore::KURL::isHierarchical):
45922
459232010-02-17  Philippe Normand  <pnormand@igalia.com>
45924
45925        Reviewed by Eric Seidel.
45926
45927        [GTK] RTP/RTSP streams playback support
45928        https://bugs.webkit.org/show_bug.cgi?id=33662
45929
45930        Added live pipelines support in updateStates().
45931
45932        * manual-tests/video-rtsp.html: Added.
45933        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45934        (WebCore::MediaPlayerPrivate::seek):
45935        (WebCore::MediaPlayerPrivate::updateStates):
45936
459372010-02-18  Yaar Schnitman  <yaar@chromium.org>
45938
45939        Reviewed by Darin Adler.
45940
45941        Normalize custom ctors for Image, Option, Audio
45942        https://bugs.webkit.org/show_bug.cgi?id=34782
45943
45944        Test: fast/js/custom-constructors.html
45945
45946        * bindings/js/JSAudioConstructor.cpp:
45947        (WebCore::JSAudioConstructor::JSAudioConstructor):
45948        (WebCore::constructAudio):
45949        * bindings/js/JSImageConstructor.cpp:
45950        (WebCore::constructImage):
45951        * bindings/js/JSOptionConstructor.cpp:
45952        (WebCore::constructHTMLOptionElement):
45953        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
45954        (WebCore::v8HTMLAudioElementConstructorCallback):
45955        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
45956        (WebCore::v8HTMLImageElementConstructorCallback):
45957        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
45958        (WebCore::v8HTMLOptionElementConstructorCallback):
45959        * html/HTMLAudioElement.cpp:
45960        (WebCore::HTMLAudioElement::HTMLAudioElement):
45961        (WebCore::HTMLAudioElement::createForJSConstructor):
45962        * html/HTMLAudioElement.h:
45963        * html/HTMLImageElement.cpp:
45964        (WebCore::HTMLImageElement::createForJSConstructor):
45965        (WebCore::HTMLImageElement::mapToEntry):
45966        (WebCore::HTMLImageElement::createRenderer):
45967        (WebCore::HTMLImageElement::attach):
45968        (WebCore::HTMLImageElement::width):
45969        (WebCore::HTMLImageElement::height):
45970        (WebCore::HTMLImageElement::naturalHeight):
45971        * html/HTMLImageElement.h:
45972        * html/HTMLOptionElement.cpp:
45973        (WebCore::HTMLOptionElement::HTMLOptionElement):
45974        (WebCore::HTMLOptionElement::createForJSConstructor):
45975        (WebCore::HTMLOptionElement::ownerSelectElement):
45976        (WebCore::HTMLOptionElement::nonRendererRenderStyle):
45977        (WebCore::HTMLOptionElement::disabled):
45978        (WebCore::HTMLOptionElement::insertedIntoTree):
45979        * html/HTMLOptionElement.h:
45980
459812010-02-18  Simon Fraser  <simon.fraser@apple.com>
45982
45983        No Review.
45984
45985        Remove a couple of extraneous spaces that got added to the project file
45986        by hand-ending.
45987
45988        * WebCore.xcodeproj/project.pbxproj:
45989
459902010-02-18  Simon Fraser  <simon.fraser@apple.com>
45991
45992        Reviewed by Dan Bernstein.
45993
45994        <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
45995        
45996        Add logic to determine when painting via the software rendering path will give an equivalent
45997        result to the accelerated compositing presentation. This tests for the presence of 3D transforms
45998        via the existing RenderLayerCompositor::has3DContent() method.
45999        
46000        * WebCore.base.exp: Export FrameView's isSoftwareRenderable(), paintBehavior() and setPaintBehavior().
46001        * page/FrameView.h:
46002        * page/FrameView.cpp:
46003        (WebCore::FrameView::isSoftwareRenderable): New method.
46004        (WebCore::FrameView::paintBehavior): Make this non-inline so that we can reliably export it.
46005
460062010-02-18  Dan Bernstein  <mitz@apple.com>
46007
46008        Reviewed by John Sullivan.
46009
46010        <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
46011        when there are pending style sheets
46012
46013        Test: fast/css/getComputedStyle/pending-stylesheet.html
46014
46015        When querying a property of a computed style declaration for a non-rendered element,
46016        CSSStyleSelector::styleForElement() was called, and if there were pending style sheet, it
46017        would behave as if the lack of renderer is due to FOUC suppression, and set a flag on
46018        the document causing it to recalculate style. On the next computed style property access,
46019        style would be recalculated for the document, but then the flag would get set again if the
46020        element did not have a renderer.
46021
46022        * dom/Document.cpp:
46023        (WebCore::Document::styleForElementIgnoringPendingStylesheets): Added. Temporarily sets
46024        m_ignorePendingStylesheets around the call to CSSStyleSelector::styleForElement().
46025        * dom/Document.h:
46026        * dom/Element.cpp:
46027        (WebCore::Element::computedStyle): Use Document::styleForElementIgnoringPendingStylesheets().
46028
460292010-02-18  Dirk Schulze  <krit@webkit.org>
46030
46031        Reviewed by Nikolas Zimmermann.
46032
46033        Move SVGResources to Renderers, starting with Masker
46034        https://bugs.webkit.org/show_bug.cgi?id=35020
46035
46036        We have rendering specific code in WebCore/svg/graphics. The goal is to move
46037        this code into suitable Renderers. This helps us to clean up the code and makes
46038        maintenance easier. It also makes it possible to remove rendering specific code
46039        from SVG*Elements into this renderers. So the Renderer contains everything that
46040        is needed to use the resource.
46041        RenderSVGResource will be the base class for all new resource render classes like
46042        RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
46043
46044        This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46045        Another benefit is the much more useful result in DRT on using masker.
46046
46047        * Android.mk:
46048        * GNUmakefile.am:
46049        * WebCore.gypi:
46050        * WebCore.pro:
46051        * WebCore.vcproj/WebCore.vcproj:
46052        * WebCore.xcodeproj/project.pbxproj:
46053        * rendering/RenderObject.cpp:
46054        (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
46055        * rendering/RenderObject.h:
46056        (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
46057        * rendering/RenderPath.cpp:
46058        * rendering/RenderSVGImage.cpp:
46059        (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
46060        * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
46061        (WebCore::RenderSVGImage::toSVGRenderBase):
46062        (WebCore::RenderSVGImage::renderName):
46063        (WebCore::RenderSVGImage::isSVGImage):
46064        (WebCore::RenderSVGImage::localToParentTransform):
46065        (WebCore::RenderSVGImage::strokeBoundingBox):
46066        (WebCore::RenderSVGImage::requiresLayer):
46067        (WebCore::RenderSVGImage::localTransform):
46068        * rendering/RenderSVGInlineText.h:
46069        (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
46070        * rendering/RenderSVGModelObject.cpp:
46071        (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
46072        * rendering/RenderSVGModelObject.h:
46073        * rendering/RenderSVGResource.h: Added.
46074        (WebCore::): Base class for all Resource renderers like masker, clipper and others.
46075        (WebCore::RenderSVGResource::RenderSVGResource):
46076        (WebCore::RenderSVGResource::cast):
46077        (WebCore::RenderSVGResource::toRenderSVGResource):
46078        (WebCore::RenderSVGResource::isSVGResource): 
46079        (WebCore::RenderSVGResource::drawsContents):
46080        (WebCore::getRenderSVGResourceById):
46081        * rendering/RenderSVGResourceMasker.cpp: Added.
46082        (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
46083        (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
46084        (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
46085        (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
46086        (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
46087        (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
46088        (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
46089        * rendering/RenderSVGResourceMasker.h: Added.
46090        (WebCore::MaskerData::MaskerData):
46091        (WebCore::RenderSVGResourceMasker::renderName):
46092        (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
46093        (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
46094        (WebCore::RenderSVGResourceMasker::resourceType):
46095        * rendering/RenderSVGRoot.cpp:
46096        (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
46097        * rendering/RenderSVGRoot.h:
46098        * rendering/RenderSVGText.cpp:
46099        (WebCore::RenderSVGText::destroy): dito.
46100        * rendering/RenderSVGText.h:
46101        * rendering/RenderTreeAsText.cpp:
46102        (WebCore::write):
46103        * rendering/SVGRenderSupport.cpp:
46104        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
46105        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
46106        (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
46107        * rendering/SVGRenderSupport.h:
46108        (WebCore::SVGRenderBase::toSVGRenderBase):
46109        (WebCore::SVGRenderBase::strokeBoundingBox):
46110        (WebCore::SVGRenderBase::markerBoundingBox):
46111        * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
46112        (WebCore::operator<<):
46113        (WebCore::writeSVGResource):
46114        (WebCore::writeSVGContainer):
46115        (WebCore::writeSVGText):
46116        (WebCore::writeSVGInlineText):
46117        (WebCore::writeSVGImage):
46118        (WebCore::write):
46119        (WebCore::writeResourcesToObject):
46120        * rendering/SVGRenderTreeAsText.h:
46121        * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
46122        (WebCore::SVGMaskElement::svgAttributeChanged):
46123        (WebCore::SVGMaskElement::childrenChanged):
46124        (WebCore::SVGMaskElement::maskBoundingBox):
46125        (WebCore::SVGMaskElement::createRenderer):
46126        * svg/SVGMaskElement.h:
46127        * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
46128        (WebCore::SVGStyledElement::invalidateResources):
46129        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
46130        * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
46131        (WebCore::toUnitType):
46132        * svg/graphics/SVGResource.h:
46133        (WebCore::):
46134        (WebCore::SVGResource::isMarker):
46135        * svg/graphics/SVGResourceMasker.cpp: Removed.
46136        * svg/graphics/SVGResourceMasker.h: Removed.
46137
461382010-02-18  Dumitru Daniliuc  <dumi@chromium.org>
46139
46140        Reviewed by Dimitri Glazkov.
46141
46142        Allow creating/dropping virtual tables when the module is FTS2.
46143
46144        https://bugs.webkit.org/show_bug.cgi?id=34867
46145
46146        * storage/DatabaseAuthorizer.cpp:
46147        (WebCore::DatabaseAuthorizer::createVTable):
46148        (WebCore::DatabaseAuthorizer::dropVTable):
46149
461502010-02-18  Peter Kasting  <pkasting@google.com>
46151
46152        Not reviewed, Chromium build fix.
46153
46154        r54963 had a typo in the WebCore.gypi change.
46155        https://bugs.webkit.org/show_bug.cgi?id=35003
46156
46157        * WebCore.gypi:
46158
461592010-02-18  Vangelis Kokkevis  <vangelis@chromium.org>
46160
46161        Reviewed by Simon Fraser.
46162
46163        Changing forward declaration of TimingFunction in GraphicsLayer.h from
46164        class to struct to match its actual definition in TimingFunction.h
46165
46166        https://bugs.webkit.org/show_bug.cgi?id=35069
46167
46168
46169        * platform/graphics/GraphicsLayer.h:
46170           Change forward declaration from: class TimingFunction to:
46171           struct TimingFunction
46172
461732010-02-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
46174
46175        Reviewed by Kenneth Rohde Christiansen.
46176
46177        [Qt] Minor improvement to hybrid QPixmap
46178        https://bugs.webkit.org/show_bug.cgi?id=34507
46179        Instead of having toHTMLImageElement which creates a new element,
46180        assignToHTMLImageElement would set an existing HTML <img/> element to
46181        contain the native QPixmap/QImge.
46182        Also made some style fixes.
46183
46184        Additions to existing tests: see WebKit/qt/tests
46185
46186        * bridge/qt/qt_pixmapruntime.cpp:
46187        (JSC::Bindings::QtPixmapWidthField::valueFromInstance): style
46188        (JSC::Bindings::QtPixmapHeightField::valueFromInstance): style
46189        (JSC::Bindings::QtPixmapAssignToElementMethod::name): assignTo
46190        (JSC::Bindings::QtPixmapAssignToElementMethod::invoke): new function
46191        (JSC::Bindings::QtPixmapAssignToElementMethod::numParameters): 1
46192        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): style
46193        (JSC::Bindings::QtPixmapToStringMethod::invoke): style
46194        (JSC::Bindings::QtPixmapInstance::invokeMethod): style
46195        (JSC::Bindings::QtPixmapClass::methodsNamed): new func, removed old
46196        (JSC::Bindings::QtPixmapInstance::getPropertyNames): ditto
46197        (JSC::Bindings::QtPixmapInstance::defaultValue): style
46198        (JSC::Bindings::QtPixmapInstance::valueOf): style
46199        (JSC::Bindings::QtPixmapInstance::toPixmap): style
46200        (JSC::Bindings::QtPixmapInstance::variantFromObject): style
46201
462022010-02-18  Peter Kasting  <pkasting@google.com>
46203
46204        Not reviewed, bustage fix.
46205
46206        An extraneous line in r54839 broke GIF animation.
46207
46208        * platform/image-decoders/gif/GIFImageReader.cpp:
46209        (GIFImageReader::read):
46210
462112010-02-18  Dan Bernstein  <mitz@apple.com>
46212
46213        Reviewed by Simon Fraser.
46214
46215        <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
46216        https://bugs.webkit.org/show_bug.cgi?id=34946
46217
46218        Test: fast/repaint/selection-gap-overflow-scroll-2.html
46219
46220        * rendering/RenderBlock.cpp:
46221        (WebCore::RenderBlock::paintSelection): localToContainerQuad() adjusts for
46222        overflow scroll, but RenderLayer::addBlockSelectionGapsBounds() takes
46223        non-scrolled coordinates, so account for that.
46224
462252010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
46226
46227        Reviewed by Darin Adler.
46228
46229        Change the V8 and JSC SQLStatementErrorCallback to interpret
46230        'undefined' return values as 'true', as required by the spec.
46231
46232        https://bugs.webkit.org/show_bug.cgi?id=35048
46233
46234        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
46235        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
46236        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
46237        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
46238        * bindings/v8/custom/V8CustomVoidCallback.cpp:
46239        (WebCore::invokeCallbackHelper):
46240        (WebCore::invokeCallback):
46241        (WebCore::invokeCallbackTreatUndefinedAsTrue):
46242        * bindings/v8/custom/V8CustomVoidCallback.h:
46243
462442010-02-17  Ojan Vafai  <ojan@chromium.org>
46245
46246        Reviewed by Adam Barth.
46247
46248        keyboard selection sometimes moves the wrong end of the selection for Win/Linux
46249        https://bugs.webkit.org/show_bug.cgi?id=35066
46250
46251        On Windows/Linux keyboard based selections should always move the same
46252        end of the seleciton. On Mac, lineboundary and documentboundary changes
46253        move different ends of the selection depending on which direction your
46254        extending.
46255
46256        Test: editing/selection/extend-after-mouse-selection.html
46257
46258        * editing/SelectionController.cpp:
46259        (WebCore::SelectionController::positionForPlatform):
46260        (WebCore::SelectionController::startForPlatform):
46261        (WebCore::SelectionController::endForPlatform):
46262        (WebCore::SelectionController::modifyExtendingRight):
46263        (WebCore::SelectionController::modifyExtendingForward):
46264        (WebCore::SelectionController::modifyMovingForward):
46265        (WebCore::SelectionController::modifyExtendingBackward):
46266        (WebCore::SelectionController::modifyMovingBackward):
46267        * editing/SelectionController.h:
46268
462692010-02-18  Timothy Hatcher  <timothy@apple.com>
46270
46271        Add "with" to the list of keywords to syntax highlight.
46272
46273        http://webkit.org/b/35123
46274
46275        Reviewed by Pavel Feldman.
46276
46277        * inspector/front-end/SourceJavaScriptTokenizer.js:
46278        (WebInspector.SourceJavaScriptTokenizer): Add "width" to _keywords.
46279        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
46280        (WebInspector.SourceJavaScriptTokenizer): Ditto.
46281
462822010-02-17  Peter Kasting  <pkasting@google.com>
46283
46284        Reviewed by Adam Barth.
46285
46286        Rework PNG-in-ICO decoding to copy the decoded framebuffer into the ICO
46287        decoder, making the logic less crazy and more like the other decoders.
46288        https://bugs.webkit.org/show_bug.cgi?id=28751
46289
46290        * platform/image-decoders/ImageDecoder.cpp:
46291        (WebCore::RGBA32Buffer::operator=):
46292        * platform/image-decoders/ImageDecoder.h:
46293        (WebCore::RGBA32Buffer::RGBA32Buffer):
46294        * platform/image-decoders/ico/ICOImageDecoder.cpp:
46295        (WebCore::ICOImageDecoder::frameBufferAtIndex):
46296        (WebCore::ICOImageDecoder::decodeAtIndex):
46297        * platform/image-decoders/ico/ICOImageDecoder.h:
46298        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
46299        (WebCore::RGBA32Buffer::operator=):
46300        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
46301        (WebCore::RGBA32Buffer::operator=):
46302
463032010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46304
46305        Reviewed by Timothy Hatcher.
46306
46307        Web Inspector: multiple popovers on screen at the same time.
46308
46309        https://bugs.webkit.org/show_bug.cgi?id=35105
46310
46311        * inspector/front-end/Popover.js:
46312        (WebInspector.Popover.prototype.show):
46313        (WebInspector.Popover.prototype.hide):
46314        * inspector/front-end/SourceFrame.js:
46315        (WebInspector.SourceFrame.prototype._showPopup):
46316
463172010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46318
46319        Reviewed by Timothy Hatcher.
46320
46321        Web Inspector: Expand Object.__proto__ properly.
46322
46323        https://bugs.webkit.org/show_bug.cgi?id=35113
46324
46325        * inspector/front-end/EventListenersSidebarPane.js:
46326        * inspector/front-end/InjectedScript.js:
46327        (injectedScriptConstructor):
46328        * inspector/front-end/ObjectProxy.js:
46329        (WebInspector.ObjectProxy):
46330        * inspector/front-end/PropertiesSidebarPane.js:
46331        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
46332        * inspector/front-end/inspector.js:
46333        (WebInspector.log.logMessage):
46334        (WebInspector.log):
46335
463362010-02-18  Nate Chapin  <japhet@chromium.org>
46337
46338        Reviewed by Adam Barth.
46339
46340        [V8] Merge the DOMWindow and WorkerContext object wrapping code paths,
46341        and use a faster method of disambiguating between the types of contexts.
46342
46343        https://bugs.webkit.org/show_bug.cgi?id=35009
46344
46345        * bindings/scripts/CodeGeneratorV8.pm: Remove logic determining whether we need to
46346            handle the WorkerContext case.
46347        * bindings/v8/V8DOMWrapper.cpp:
46348        (WebCore::globalObjectPrototypeIsDOMWindow):
46349        (WebCore::V8DOMWrapper::instantiateV8Object): Merge instantiateV8Object paths.
46350        * bindings/v8/V8DOMWrapper.h:
46351
463522010-02-12  Brett Wilson  <brettw@chromium.org>
46353
46354        Reviewed by Adam Barth.
46355
46356        Update the Google-URL version of KURL and the V8 bindings to the new
46357        behavior of KURL.IsStandard.
46358
46359        https://bugs.webkit.org/show_bug.cgi?id=34859
46360
46361        This is covered by fast/dom/Window/invalid-protocol.html
46362
46363        * bindings/v8/custom/V8LocationCustom.cpp:
46364        (WebCore::V8Location::protocolAccessorSetter):
46365        * platform/KURLGoogle.cpp:
46366        (WebCore::KURL::setProtocol):
46367        (WebCore::KURL::isHierarchical):
46368
463692010-02-18  Xan Lopez  <xlopez@igalia.com>
46370
46371        Reviewed by Gustavo Noronha.
46372
46373        Remove some duplication between PluginView and Widget methods, and
46374        move the setSelfVisible calls to the parent class.
46375
46376        * platform/gtk/WidgetGtk.cpp:
46377        (WebCore::Widget::show):
46378        (WebCore::Widget::hide):
46379        * plugins/gtk/PluginViewGtk.cpp:
46380        (WebCore::PluginView::setFocus):
46381        (WebCore::PluginView::show):
46382        (WebCore::PluginView::hide):
46383
463842010-02-18  Simon Fraser  <simon.fraser@apple.com>
46385
46386        Reviewed by Darin Adler.
46387
46388        <rdar://problem/7655195> Switch Leopard back to using CGShading to avoid CGGradient leaks
46389
46390        Define USE_CG_SHADING on for Tiger and Leopard, and use it to toggle the methods
46391        used for Core Graphics gradient drawing.
46392
46393        * platform/graphics/Gradient.h:
46394        * platform/graphics/cg/GradientCG.cpp:
46395        (WebCore::Gradient::platformDestroy):
46396        (WebCore::Gradient::paint):
46397
463982010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46399
46400        Reviewed by Timothy Hatcher.
46401
46402        Web Inspector: on-hover evaluation renders nodes and arrays as strings.
46403
46404        https://bugs.webkit.org/show_bug.cgi?id=35103
46405
46406        * inspector/front-end/SourceFrame.js:
46407        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
46408
464092010-02-18  Brady Eidson  <beidson@apple.com>
46410
46411        Reviewed by Sam Weinig.
46412
46413        Particularly constructed WebFrames can try to access a null HistoryItem
46414        <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063
46415
46416        Test: fast/loader/api-test-new-window-data-load-base-url.html
46417
46418        * loader/HistoryController.cpp:
46419        (WebCore::HistoryController::updateBackForwardListForFragmentScroll): We have a known case where a fragment scroll
46420          might take place with a null m_currentItem. updateBackForwardListClippedAtTarget() will either move m_currentItem 
46421          to m_previousItem then create a new m_currentItem...  or it will do nothing. So we either have both an m_currentItem 
46422          and m_previousItem, or we have neither.  In the case where we have no m_previousItem, return early.
46423
464242010-02-18  Nate Chapin  <japhet@chromium.org>
46425
46426        Reviewed by Eric Seidel.
46427
46428        [V8] Correctly handle the case where the event field on the
46429        global object is a v8::Object, but not a DOM wrapper.
46430
46431        https://bugs.webkit.org/show_bug.cgi?id=34899
46432
46433        Test: fast/dom/Window/window-event-override-no-crash.html
46434
46435        * bindings/v8/ScriptController.cpp:
46436        (WebCore::ScriptController::processingUserGesture):
46437        * bindings/v8/V8DOMWrapper.cpp:
46438        (WebCore::V8DOMWrapper::isValidDOMObject):
46439        (WebCore::V8DOMWrapper::isWrapperOfType):
46440        * bindings/v8/V8DOMWrapper.h:
46441
464422010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46443
46444        Not reviewed, Qt build fix.
46445
46446        * inspector/front-end/WebKit.qrc:
46447
464482010-02-18  Pavel Feldman  <pfeldman@chromium.org>
46449
46450        Reviewed by Timothy Hatcher.
46451
46452        Web Inspector: Implement evaluate-on-hover for scripts panel.
46453
46454        https://bugs.webkit.org/show_bug.cgi?id=35003
46455 
46456        * WebCore.gypi:
46457        * WebCore.vcproj/WebCore.vcproj:
46458        * inspector/front-end/Images/gearButtonGlyph.png: Added.
46459        * inspector/front-end/Images/popoverArrows.png: Added.
46460        * inspector/front-end/Images/popoverBackground.png: Added.
46461        * inspector/front-end/Images/thumbActiveHoriz.png: Added.
46462        * inspector/front-end/Images/thumbActiveVert.png: Added.
46463        * inspector/front-end/Images/thumbHoriz.png: Added.
46464        * inspector/front-end/Images/thumbHoverHoriz.png: Added.
46465        * inspector/front-end/Images/thumbHoverVert.png: Added.
46466        * inspector/front-end/Images/thumbVert.png: Added.
46467        * inspector/front-end/Images/trackHoriz.png: Added.
46468        * inspector/front-end/Images/trackVert.png: Added.
46469        * inspector/front-end/Popup.js:
46470        (WebInspector.Popup):
46471        (WebInspector.Popup.prototype.show):
46472        (WebInspector.Popup.prototype.hide):
46473        (WebInspector.Popup.prototype._positionElement):
46474        * inspector/front-end/SourceFrame.js:
46475        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
46476        (WebInspector.SourceFrame.prototype._scroll):
46477        (WebInspector.SourceFrame.prototype._mouseDown):
46478        (WebInspector.SourceFrame.prototype._mouseUp):
46479        (WebInspector.SourceFrame.prototype._mouseMove):
46480        (WebInspector.SourceFrame.prototype._mouseOut):
46481        (WebInspector.SourceFrame.prototype._resetHoverTimer):
46482        (WebInspector.SourceFrame.prototype._hidePopup):
46483        (WebInspector.SourceFrame.prototype._mouseHover):
46484        (WebInspector.SourceFrame.prototype._showPopup.showTextPopup):
46485        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
46486        (WebInspector.SourceFrame.prototype._showPopup.evaluateCallback):
46487        (WebInspector.SourceFrame.prototype._showPopup):
46488        (WebInspector.HoverPropertiesSection):
46489        (WebInspector.HoverPropertiesSection.prototype.update):
46490        * inspector/front-end/TextEditorHighlighter.js:
46491        (WebInspector.TextEditorHighlighter):
46492        (WebInspector.TextEditorHighlighter.prototype._lex):
46493        * inspector/front-end/TextViewer.js:
46494        (WebInspector.TextViewer.prototype._paintLine):
46495        * inspector/front-end/WebKit.qrc:
46496        * inspector/front-end/inspector.css:
46497        * inspector/front-end/inspector.html:
46498        * inspector/front-end/inspectorSyntaxHighlight.css:
46499        * inspector/front-end/popover.css: Added.
46500
465012010-02-18  Ben Murdoch  <benm@google.com>
46502
46503        Reviewed by Jeremy Orlow.
46504
46505        [v8] Complete upstreaming of V8 Touch Event bindings
46506        https://bugs.webkit.org/show_bug.cgi?id=35094
46507
46508        No new tests required.
46509
46510        * bindings/v8/V8Index.cpp: Add generated touch event headers.
46511
465122010-02-18  Steve Block  <steveblock@google.com>
46513
46514        Reviewed by Jeremy Orlow.
46515
46516        Updates Android V8 build to use DerivedSourcesAllInOne.cpp
46517        https://bugs.webkit.org/show_bug.cgi?id=35083
46518
46519        No new tests, build fix only.
46520
46521        * Android.derived.v8bindings.mk:
46522        * Android.v8bindings.mk:
46523
465242010-02-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
46525
46526        Reviewed by Xan Lopez.
46527
46528        fast/frames/iframe-reparenting.html crashing on GTK Debug bots
46529        https://bugs.webkit.org/show_bug.cgi?id=35081
46530
46531        Check that the client is alive after every call to it, since any
46532        of them could cause the load to be cancelled, and the client to go
46533        away.
46534
46535        This is much better than protecting a specific subclass of
46536        ResourceHandleClient (ResourceLoader), which makes us fail when
46537        any other client is used.
46538
46539        Test: fast/frames/iframe-reparenting.html
46540
46541        * platform/network/soup/ResourceHandleSoup.cpp:
46542        (WebCore::parseDataUrl):
46543
465442010-02-18  Ben Murdoch  <benm@google.com>
46545
46546        Reviewed by Nate Chapin.
46547
46548        [v8] [Android] V8 bindings for touch events are missing.
46549        https://bugs.webkit.org/show_bug.cgi?id=33795
46550
46551        No new tests as this just enables touch events in V8. Existing touch tests suffice.
46552
46553        * WebCore.gypi: Add Touch idl files.
46554        * bindings/scripts/CodeGeneratorV8.pm: Add TouchList to typeCanFailConversion map.
46555        * bindings/v8/DOMObjectsInclude.h: Add touch headers.
46556        * bindings/v8/DerivedSourcesAllInOne.cpp: Add touch generated bindings.
46557        * bindings/v8/V8Index.h: Add touch DOM object types.
46558        * bindings/v8/custom/V8EventCustom.cpp: Add conversion of event to touch event.
46559        * Android.derived.jscbindings.mk: Add the touch derived sources to the makefile.
46560        * Android.derived.v8bindings.mk: Add the touch derived sources to the makefile.
46561
465622010-02-18  William Chan  <willchan@chromium.org>
46563
46564        Reviewed by Adam Barth.
46565
46566        https://bugs.webkit.org/show_bug.cgi?id=35071
46567        Disable loader limiting of requests per host for the chromium port.
46568
46569        No tests because we're only changing a constant.
46570
46571        * platform/network/chromium/ResourceRequest.cpp:
46572        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
46573
465742010-02-18  Xan Lopez  <xlopez@igalia.com>
46575
46576        Reviewed by Eric Seidel.
46577
46578        [Linux] Webkit incompatible with Java plugins
46579        https://bugs.webkit.org/show_bug.cgi?id=24912
46580
46581        The NP Version supported by WebKit is at the moment hardcoded in
46582        PluginPackage.cpp (to 24), but not all backends actually implement
46583        the methods needed to claim this. Introduce a new method to be
46584        implemented by each backend where the maximum supported version
46585        can be specified, and set the GTK+ port NPVersion to 19. This
46586        fixes an instantaneous crasher in the Sun Java NPAPI plugin.
46587
46588        * plugins/PluginPackage.cpp:
46589        (WebCore::PluginPackage::initializeBrowserFuncs):
46590        * plugins/PluginPackage.h:
46591        * plugins/gtk/PluginPackageGtk.cpp:
46592        (WebCore::PluginPackage::NPVersion):
46593        * plugins/mac/PluginPackageMac.cpp:
46594        (WebCore::PluginPackage::NPVersion):
46595        * plugins/qt/PluginPackageQt.cpp:
46596        (WebCore::PluginPackage::NPVersion):
46597        * plugins/symbian/PluginPackageSymbian.cpp:
46598        (WebCore::PluginPackage::NPVersion):
46599        * plugins/win/PluginPackageWin.cpp:
46600        (WebCore::PluginPackage::NPVersion):
46601
466022010-02-17  Dmitry Titov  <dimich@chromium.org>
46603
46604        Reviewed by David Levin, Darin Fisher, Simon Hausmann.
46605
46606        When a live iframe element is moved between pages, it still depends on the old page.
46607        https://bugs.webkit.org/show_bug.cgi?id=34382
46608
46609        Test: fast/frames/iframe-reparenting-new-page.html
46610
46611        * html/HTMLFrameElementBase.cpp:
46612        (WebCore::HTMLFrameElementBase::setName):
46613        Move the code setting the frame name into a separate function.
46614
46615        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
46616        (WebCore::HTMLFrameElementBase::updateOnReparenting):
46617        Called on the frame that was just re-parented and inserted into another Document.
46618        Simply invoke Frame::transferChildFrameToNewDocument(...);
46619
46620        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
46621        * html/HTMLFrameElementBase.h:
46622        * html/HTMLFrameOwnerElement.h:
46623        (WebCore::HTMLFrameOwnerElement::setName):
46624        Make this a virtual function, to be able to reach it via Frame::m_ownerElement.
46625
46626        * loader/EmptyClients.h:
46627        (WebCore::EmptyFrameLoaderClient::adoptFrame):
46628        * loader/FrameLoaderClient.h:
46629        Add a new method, didTransferChildFrameToNewDocument().
46630        It compliments createFrame() in that a frame which was re-parented
46631        in DOM and potentially changes Page, should notify the WebKit
46632        implementation about potential ownership change.
46633        Many embedders assume that Page owns all the Frames, or at least
46634        all Frames are destroyed before 'their' Page is destroyed. Obviously, if Frame
46635        can be transferred to another Page, the embedders should be notified.
46636
46637        * page/Frame.cpp:
46638        (WebCore::Frame::transferChildFrameToNewDocument):
46639        Added, makes actual adjustments for Frame - resets the Page,
46640        updates the frame tree and frame name, calls to FrameLoaderClient
46641        to update external objects and recurses into children.
46642        Can only be used on child frames.
46643
46644        * page/Frame.h:
46645
466462010-02-17  Tony Chang  <tony@chromium.org>
46647
46648        Reviewed by Eric Seidel.
46649
46650        Copying and pasting into a contenteditable area can create <div>s surrounded by <span>s
46651        https://bugs.webkit.org/show_bug.cgi?id=26937
46652
46653        This happens because of a span added when we copy that is used to
46654        preserve styles.  To avoid this, when we paste, make sure to apply
46655        the styles to the span's children and then remove the style span.
46656
46657        This change is covered by existing layout tests.
46658
46659        * editing/ReplaceSelectionCommand.cpp:
46660        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
46661        (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
46662        * editing/ReplaceSelectionCommand.h:
46663
466642010-02-17  Tony Chang  <tony@chromium.org>
46665
46666        Reviewed by Eric Seidel.
46667
46668        https://bugs.webkit.org/show_bug.cgi?id=34914
46669        When pasting absolute font sizes into a content editable area with
46670        page zoom, adjust the font sizes to be the same after page zoom is
46671        applied.
46672
46673        Test: editing/pasteboard/page-zoom.html
46674
46675        * editing/ReplaceSelectionCommand.cpp:
46676        (WebCore::ReplaceSelectionCommand::negateStyleRulesThatAffectAppearance):
46677
466782010-02-17  Tony Chang  <tony@chromium.org>
46679
46680        Reviewed by Eric Seidel.
46681
46682        https://bugs.webkit.org/show_bug.cgi?id=34737
46683        Copying styled list items then pasting into a list
46684        should work the same as copying unstyle list items:
46685        it shouldn't indent an extra level, but styles should
46686        be copied.
46687
46688        Small cleanups to insertAsListItems to make variable names
46689        more descriptive.
46690
46691        Test: editing/pasteboard/paste-list-003.html
46692
46693        * editing/ReplaceSelectionCommand.cpp:
46694        (WebCore::ReplaceSelectionCommand::doApply):
46695        (WebCore::ReplaceSelectionCommand::insertAsListItems):
46696
466972010-02-17  Kwang Yul Seo  <skyul@company100.net>
46698
46699        Reviewed by Eric Seidel.
46700
46701        [BREWMP] Port PlatformKeyboardEvent
46702        https://bugs.webkit.org/show_bug.cgi?id=34794
46703
46704        Retrieve the type, key code, text and modifiers from BREW's keyboard event.
46705
46706        * platform/PlatformKeyboardEvent.h:
46707        * platform/brew/PlatformKeyboardEventBrew.cpp: Added.
46708        (WebCore::keyIdentifierForBrewKeyCode):
46709        (WebCore::windowsKeyCodeForKeyEvent):
46710        (WebCore::singleCharacterString):
46711        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
46712        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
46713        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
46714
467152010-02-17  Hayato Ito  <hayato@chromium.org>
46716
46717        Reviewed by Eric Seidel.
46718
46719        Support CSS page-break-inside with a value of 'avoid'.
46720
46721        https://bugs.webkit.org/show_bug.cgi?id=34080
46722
46723        Test: printing/page-break-inside.html
46724
46725        * rendering/RenderBlock.cpp:
46726        (WebCore::RenderBlock::paintChildren):
46727
467282010-02-17  Fumitoshi Ukai  <ukai@chromium.org>
46729
46730        Reviewed by Alexey Proskuryakov.
46731
46732        WebSocket bufferedAmount should not be 0 when send after close.
46733        https://bugs.webkit.org/show_bug.cgi?id=34633
46734
46735        Fixed bug in webkit r54694.  check m_client after it calls user
46736        callback, because user callback may call close(), which would
46737        call onclose event handler.
46738        
46739        Test: websocket/tests/bufferedAmount-after-close.html
46740
46741        * websockets/ThreadableWebSocketChannelClientWrapper.h:
46742        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
46743        * websockets/WebSocket.cpp:
46744        (WebCore::WebSocket::WebSocket):
46745        (WebCore::WebSocket::send):
46746        (WebCore::WebSocket::close):
46747        (WebCore::WebSocket::bufferedAmount):
46748        (WebCore::WebSocket::didConnect):
46749        (WebCore::WebSocket::didClose):
46750        * websockets/WebSocket.h:
46751        * websockets/WebSocketChannel.cpp:
46752        (WebCore::WebSocketChannel::WebSocketChannel):
46753        (WebCore::WebSocketChannel::send):
46754        (WebCore::WebSocketChannel::bufferedAmount):
46755        (WebCore::WebSocketChannel::didClose):
46756        (WebCore::WebSocketChannel::didReceiveData):
46757        * websockets/WebSocketChannel.h:
46758        * websockets/WebSocketChannelClient.h:
46759        (WebCore::WebSocketChannelClient::didClose):
46760        * websockets/WorkerThreadableWebSocketChannel.cpp:
46761        (WebCore::workerContextDidClose):
46762        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
46763        * websockets/WorkerThreadableWebSocketChannel.h:
46764
467652010-02-17  Yuzo Fujishima  <yuzo@google.com>
46766
46767        Reviewed by Eric Seidel.
46768
46769        In diffing render styles, consider all pseudo style changes.
46770        Without this patch, only :before and :after are considered. This is the cause of the following bug.
46771        https://bugs.webkit.org/show_bug.cgi?id=32187
46772
46773        Test: fast/css/first-letter-first-line-hover.html
46774
46775        * dom/Node.cpp:
46776        (WebCore::Node::diff):
46777        * rendering/style/RenderStyle.cpp:
46778        (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
46779        * rendering/style/RenderStyle.h:
46780        * rendering/style/RenderStyleConstants.h:
46781        (WebCore::):
46782
467832010-02-17  Kwang Yul Seo  <skyul@company100.net>
46784
46785        Reviewed by Eric Seidel.
46786
46787        [BREWMP] Add WebCore::prefetchDNS
46788        https://bugs.webkit.org/show_bug.cgi?id=34873
46789
46790        DNS prefetching is not implemented because the maximum number
46791        of UDP sockets is quite small in most BREW devices.
46792
46793        * platform/network/brew/DNSBrew.cpp: Added.
46794        (WebCore::prefetchDNS):
46795
467962010-02-17  Kent Tamura  <tkent@chromium.org>
46797
46798        Reviewed by Eric Seidel.
46799
46800        Introduces new Icon loading interface in order to support
46801        asynchronous loading.
46802        https://bugs.webkit.org/show_bug.cgi?id=32054
46803
46804        It's hard for Chromium port to load an icon inside
46805        Icon::createIconForFiles() because of sanbox and multi-process
46806        architecture. So this change adds a method to request an icon to
46807        Chrome class, and makes FileChooser receives an Icon instance
46808        asynchronously.  Synchronous loading also works with the new interface.
46809
46810        Because all ports don't have implementations of Chrome::iconForFiles()
46811        yet, FileChooser tries to load an Icon synchronously with
46812        Icon::createIconForFiles(), then tries to load an Icon asynchronously
46813        with Chrome::iconForFiles() if Icon::createIconForFiles() returns 0.
46814
46815        The existing Icon::createIconForFiles() implementations should be
46816        moved to Chrome::iconForFiles(). We're going to remove
46817        Icon::createIconForFiles().
46818
46819        * loader/EmptyClients.h:
46820        (WebCore::EmptyChromeClient::iconForFiles): Add an empty implementation.
46821        * page/Chrome.cpp:
46822        (WebCore::Chrome::iconForFiles): Delegate to ChromeClient::iconForFiles().
46823        * page/Chrome.h:
46824        * page/ChromeClient.h:
46825        (WebCore::ChromeClient::iconForFiles): Add a declaration as a pure virtual method.
46826        * platform/FileChooser.cpp:
46827        (WebCore::FileChooser::FileChooser): Use loadIcon().
46828        (WebCore::FileChooser::chooseFiles): ditto.
46829        (WebCore::FileChooser::loadIcon): Added.
46830        (WebCore::FileChooser::iconLoaded): Added.
46831        * platform/FileChooser.h: Add two methods to FileChooserClient; repaint() and iconForFiles().
46832        * platform/graphics/Icon.h: Add a FIXME comment.
46833        * platform/graphics/gtk/IconGtk.cpp: ditto.
46834        * platform/graphics/mac/IconMac.mm: ditto.
46835        * platform/graphics/qt/IconQt.cpp: ditto.
46836        * platform/graphics/win/IconWin.cpp: ditto.
46837        * rendering/RenderFileUploadControl.cpp:
46838        (WebCore::RenderFileUploadControl::iconForFiles): Delegate to Chrome::iconForFiles().
46839        (WebCore::RenderFileUploadControl::click): Use chrome().
46840        (WebCore::RenderFileUploadControl::chrome):
46841        * rendering/RenderFileUploadControl.h:
46842        (WebCore::RenderFileUploadControl::repaint):
46843
468442010-02-17  Mark Rowe  <mrowe@apple.com>
46845
46846        Reviewed by Darin Adler.
46847
46848        Bug 35065: Delay between page loading and animated GIF playing
46849        <http://webkit.org/b/35065> / <rdar://problem/7109548>
46850
46851        BitmapImage::startAnimation was adding the current frame duration to the desired start time
46852        of the frame for every time it was called.  If the function then bailed out due to not having
46853        sufficient data to render the frame, this would lead to the desired start time of the frame
46854        being pushed out multiple times.  On an animated GIF that took mulitple seconds to load this
46855        could happen many times for a single frame, resulting in the start time of the second frame
46856        of the animation being pushed out by as much as five seconds.
46857
46858        * platform/graphics/BitmapImage.cpp:
46859        (WebCore::BitmapImage::startAnimation): Change the order of the code slightly so that the
46860        desired start time is only updated after determining that we have sufficient data to handle
46861        the next frame.
46862
468632010-02-17  Stephan Aßmus  <superstippi@gmx.de>
46864
46865        Reviewed by Eric Seidel.
46866
46867        Implemented homeDirectoryPath() and listDirectory() on the Haiku platform.
46868        https://bugs.webkit.org/show_bug.cgi?id=34687
46869
46870        Covered by existing tests.
46871
46872        * platform/haiku/FileSystemHaiku.cpp:
46873        (WebCore::homeDirectoryPath): Implemented
46874        (WebCore::listDirectory): Implemented
46875
468762010-02-17  Kwang Yul Seo  <skyul@company100.net>
46877
46878        Reviewed by Eric Seidel.
46879
46880        [BREWMP] Port userIdleTime
46881        https://bugs.webkit.org/show_bug.cgi?id=34259
46882
46883        Return an arbitrarily high userIdleTime so that releasing pages from the page
46884        cache isn't postponed.
46885
46886        * platform/brew/SystemTimeBrew.cpp: Added.
46887        (WebCore::userIdleTime):
46888
468892010-02-17  Dirk Schulze  <krit@webkit.org>
46890
46891        Rolling out r54909. Breaks SL and Win.
46892
468932010-02-17  Dumitru Daniliuc  <dumi@chromium.org>
46894
46895        Reviewed by Dimitri Glazkov.
46896
46897        Fix Chromium's bindings for Database.transaction(): a 'null'
46898        callback should be treated as no callback.
46899
46900        Test: storage/null-callbacks.html
46901
46902        https://bugs.webkit.org/show_bug.cgi?id=35047
46903
46904        * bindings/v8/custom/V8DatabaseCustom.cpp:
46905        (WebCore::createTransaction):
46906
469072010-02-17  Dirk Schulze  <krit@webkit.org>
46908
46909        Reviewed by Nikolas Zimmermann.
46910
46911        Move SVGResources to Renderers, starting with Masker
46912        https://bugs.webkit.org/show_bug.cgi?id=35020
46913
46914        We have rendering specific code in WebCore/svg/graphics. The goal is to move
46915        this code into suitable Renderers. This helps us to clean up the code and makes
46916        maintenance easier. It also makes it possible to remove rendering specific code
46917        from SVG*Elements into this renderers. So the Renderer contains everything that
46918        is needed to use the resource.
46919        RenderSVGResource will be the base class for all new resource render classes like
46920        RenderSVGResourceMasker, RenderSVGResourceClipper and the other resources.
46921
46922        This patch starts moving SVGResourceMasker to RenderSVGResourceMasker.
46923        Another benefit is the much more useful result in DRT on using masker.
46924
46925        * Android.mk:
46926        * GNUmakefile.am:
46927        * WebCore.gypi:
46928        * WebCore.pro:
46929        * WebCore.vcproj/WebCore.vcproj:
46930        * WebCore.xcodeproj/project.pbxproj:
46931        * rendering/RenderObject.cpp:
46932        (WebCore::RenderObject::toRenderSVGResource): Conversion to RenderSVGResource base class.
46933        * rendering/RenderObject.h:
46934        (WebCore::RenderObject::isSVGResource): Check if renderer is a resource.
46935        * rendering/RenderPath.cpp:
46936        * rendering/RenderSVGImage.cpp:
46937        (WebCore::RenderSVGImage::destroy): Renderer gets destroyed, unregister it from it's resources.
46938        * rendering/RenderSVGImage.h: Some code clean up according to the webkit style.
46939        (WebCore::RenderSVGImage::toSVGRenderBase):
46940        (WebCore::RenderSVGImage::renderName):
46941        (WebCore::RenderSVGImage::isSVGImage):
46942        (WebCore::RenderSVGImage::localToParentTransform):
46943        (WebCore::RenderSVGImage::strokeBoundingBox):
46944        (WebCore::RenderSVGImage::requiresLayer):
46945        (WebCore::RenderSVGImage::localTransform):
46946        * rendering/RenderSVGInlineText.h:
46947        (WebCore::RenderSVGInlineText::objectBoundingBox): Needed for SVGRenderTreeAsText
46948        * rendering/RenderSVGModelObject.cpp:
46949        (WebCore::RenderSVGModelObject::destroy): Renderer gets destroyed, unregister it from it's resources.
46950        * rendering/RenderSVGModelObject.h:
46951        * rendering/RenderSVGResource.h: Added.
46952        (WebCore::): Base class for all Resource renderers like masker, clipper and others.
46953        (WebCore::RenderSVGResource::RenderSVGResource):
46954        (WebCore::RenderSVGResource::cast):
46955        (WebCore::RenderSVGResource::toRenderSVGResource):
46956        (WebCore::RenderSVGResource::isSVGResource): 
46957        (WebCore::RenderSVGResource::drawsContents):
46958        (WebCore::getRenderSVGResourceById):
46959        * rendering/RenderSVGResourceMasker.cpp: Added.
46960        (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
46961        (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker):
46962        (WebCore::RenderSVGResourceMasker::invalidateClients): Status of masker changed, remove all clients.
46963        (WebCore::RenderSVGResourceMasker::invalidateClient): Status of an object changed, remove pending client.
46964        (WebCore::RenderSVGResourceMasker::applyResource): Apply masker to object.
46965        (WebCore::RenderSVGResourceMasker::resourceBoundingBox): boundingBox of the resource, depending on the object.
46966        (WebCore::RenderSVGResourceMasker::createMaskImage): Creates the mask image, the context gets clipped with.
46967        * rendering/RenderSVGResourceMasker.h: Added.
46968        (WebCore::MaskerData::MaskerData):
46969        (WebCore::RenderSVGResourceMasker::renderName):
46970        (WebCore::RenderSVGResourceMasker::maskUnits): Unit of mask for DRT.
46971        (WebCore::RenderSVGResourceMasker::maskContentUnits): Unit of childs from mask for DRT.
46972        (WebCore::RenderSVGResourceMasker::resourceType):
46973        * rendering/RenderSVGRoot.cpp:
46974        (WebCore::RenderSVGRoot::destroy): Renderer gets destroyed, unregister it from it's resources.
46975        * rendering/RenderSVGRoot.h:
46976        * rendering/RenderSVGText.cpp:
46977        (WebCore::RenderSVGText::destroy): dito.
46978        * rendering/RenderSVGText.h:
46979        * rendering/RenderTreeAsText.cpp:
46980        (WebCore::write):
46981        * rendering/SVGRenderSupport.cpp:
46982        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
46983        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
46984        (WebCore::SVGRenderBase::deregisterFromResources): Unregister object from all it's resources after status changed.
46985        * rendering/SVGRenderSupport.h:
46986        (WebCore::SVGRenderBase::toSVGRenderBase):
46987        (WebCore::SVGRenderBase::strokeBoundingBox):
46988        (WebCore::SVGRenderBase::markerBoundingBox):
46989        * rendering/SVGRenderTreeAsText.cpp: Update TreeAsText to dump maskers correctly.
46990        (WebCore::operator<<):
46991        (WebCore::writeSVGResource):
46992        (WebCore::writeSVGContainer):
46993        (WebCore::writeSVGText):
46994        (WebCore::writeSVGInlineText):
46995        (WebCore::writeSVGImage):
46996        (WebCore::write):
46997        (WebCore::writeResourcesToObject):
46998        * rendering/SVGRenderTreeAsText.h:
46999        * svg/SVGMaskElement.cpp: Update Masker to use the new renderer.
47000        (WebCore::SVGMaskElement::svgAttributeChanged):
47001        (WebCore::SVGMaskElement::childrenChanged):
47002        (WebCore::SVGMaskElement::maskBoundingBox):
47003        (WebCore::SVGMaskElement::createRenderer):
47004        * svg/SVGMaskElement.h:
47005        * svg/SVGStyledElement.cpp: We need to tell the renderer to unregister object, after the status changed.
47006        (WebCore::SVGStyledElement::invalidateResources):
47007        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
47008        * svg/SVGUnitTypes.h: Conversion of integer to SVGUnitType.
47009        (WebCore::toUnitType):
47010        * svg/graphics/SVGResource.h:
47011        (WebCore::):
47012        (WebCore::SVGResource::isMarker):
47013        * svg/graphics/SVGResourceMasker.cpp: Removed.
47014        * svg/graphics/SVGResourceMasker.h: Removed.
47015
470162010-02-17  Kenneth Russell  <kbr@google.com>
47017
47018        Reviewed by Oliver Hunt.
47019
47020        Refactor texImage2D and texSubImage2D taking Image to use common code
47021        https://bugs.webkit.org/show_bug.cgi?id=34458
47022
47023        Merged the Safari and Chromium code which extracts the data from
47024        Image objects into common entry points on GraphicsContext3D. This
47025        immediately fixes the following three problems:
47026          - Chromium not implementing texSubImage2D taking Image.
47027          - Safari not obeying the flipY parameter to texImage2D or
47028            texSubImage2D taking Image.
47029          - Safari not obeying the premultipyAlpha parameter to texImage2D
47030            or texSubImage2D taking Image.
47031        Added new test verifying the behavior of texImage2D and
47032        texSubImage2D and the flipY parameter. The premultiplyAlpha
47033        parameter can not be tested yet as the implementation is not yet
47034        spec compliant. This will be fixed in a follow-on bug.
47035
47036        Ran all WebGL demos in demo repository on Safari and Chromium;
47037        textures are now the right way up in both browsers, and
47038        transparent textures in Particles demo now look correct in Safari.
47039
47040        Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
47041
47042        * WebCore.gyp/WebCore.gyp:
47043        * WebCore.gypi:
47044        * WebCore.xcodeproj/project.pbxproj:
47045        * platform/graphics/GraphicsContext3D.cpp: Added.
47046        (WebCore::GraphicsContext3D::extractImageData):
47047        (WebCore::GraphicsContext3D::processImageData):
47048        (WebCore::GraphicsContext3D::premultiplyAlpha):
47049        (WebCore::GraphicsContext3D::unmultiplyAlpha):
47050        * platform/graphics/GraphicsContext3D.h:
47051        (WebCore::GraphicsContext3D::):
47052        * platform/graphics/cg/GraphicsContext3DCG.cpp: Added.
47053        (WebCore::GraphicsContext3D::getImageData):
47054        * platform/graphics/mac/GraphicsContext3DMac.cpp:
47055        (WebCore::GraphicsContext3D::texImage2D):
47056        (WebCore::GraphicsContext3D::texSubImage2D):
47057        * platform/graphics/skia/GraphicsContext3DSkia.cpp: Added.
47058        (WebCore::GraphicsContext3D::getImageData):
47059
470602010-02-17  Noam Rosenthal  <noam.rosenthal@nokia.com>
47061
47062        Reviewed by Ariya Hidayat.
47063
47064        [Qt] GraphicsLayer: support perspective and 3D transforms
47065        https://bugs.webkit.org/show_bug.cgi?id=34960
47066
47067        New tests: http://webkit.org/blog-files/3d-transforms/perspective-by-example.html
47068
47069        * platform/graphics/qt/GraphicsLayerQt.cpp:
47070        (WebCore::GraphicsLayerQtImpl::updateTransform):
47071        (WebCore::GraphicsLayerQtImpl::setBaseTransform):
47072        (WebCore::GraphicsLayerQtImpl::computeTransform):
47073        (WebCore::GraphicsLayerQtImpl::flushChanges):
47074        (WebCore::TransformAnimationQt::~TransformAnimationQt):
47075
470762010-02-17  Peter Kasting  <pkasting@google.com>
47077
47078        Unreviewed, build fix.
47079
47080        Fix crashes due to an omitted line in r54839.
47081
47082        * platform/image-decoders/png/PNGImageDecoder.cpp:
47083        (WebCore::decodingFailed):
47084
470852010-02-17  Alok Priyadarshi  <alokp@chromium.org>
47086
47087        Reviewed by Ariya Hidayat.
47088
47089        Bug 34900: Implement accelerated compositing for chromium.
47090        https://bugs.webkit.org/show_bug.cgi?id=34900
47091
47092        Do not exclude files needed for accelerated compositing. In fact there is no need to exclude these files.
47093        These files are already guarded with WTF_USE_ACCELERATED_COMPOSITING flag.
47094
47095        * WebCore.gyp/WebCore.gyp: Removed GraphicsLayer.cpp, RenderLayerBacking.cpp,
47096        and RenderLayerCompositor.cpp from excluded list.
47097
470982010-02-17  Jian Li  <jianli@chromium.org>
47099
47100        Reviewed by Darin Fisher.
47101
47102        [chromium] Remove the obsolete chromium interface for handling DownloadURL.
47103        https://bugs.webkit.org/show_bug.cgi?id=34982
47104
47105        * platform/chromium/ChromiumDataObject.cpp:
47106        (WebCore::ChromiumDataObject::clear):
47107        (WebCore::ChromiumDataObject::hasData):
47108        (WebCore::ChromiumDataObject::ChromiumDataObject):
47109        * platform/chromium/ChromiumDataObject.h:
47110        * platform/chromium/ClipboardChromium.cpp:
47111        (WebCore::ClipboardChromium::setData):
47112
471132010-02-17  Dan Bernstein  <mitz@apple.com>
47114
47115        Reviewed by Darin Adler.
47116
47117        <rdar://problem/7645569> REGRESSION (r51324): Incorrect marker rects for blocks that span multiple columns
47118
47119        * manual-tests/match-marker-rects.html: Added.
47120        * rendering/InlineTextBox.cpp:
47121        (WebCore::InlineTextBox::paintTextMatchMarker): Use the text renderer rather
47122        than its ancestor block for the local-to-absolute transformation.
47123        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
47124
471252010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
47126
47127        Reviewed by Xan Lopez.
47128
47129        Does not send an Accept header for subresources, causing some sites to break
47130        https://bugs.webkit.org/show_bug.cgi?id=33242
47131
47132        Set */* as the Accept header when downloading resources
47133        that did not set an Accept header. This behaviour is similar to
47134        the one adopted by Chromium.
47135
47136        Test: http/tests/misc/image-checks-for-accept.html
47137
47138        * platform/network/soup/ResourceHandleSoup.cpp:
47139        (WebCore::startHttp):
47140
471412010-02-17  Marcus Bulach  <bulach@chromium.org>
47142
47143        Reviewed by Jeremy Orlow.
47144
47145        Fixes initialization order of members for GeolocationServiceChromium.
47146        https://bugs.webkit.org/show_bug.cgi?id=35034
47147
47148        * platform/chromium/GeolocationServiceChromium.cpp:
47149
471502010-02-17  Xan Lopez  <xlopez@igalia.com>
47151
47152        Reviewed by Gustavo Noronha.
47153
47154        [Linux] Webkit incompatible with Java plugins
47155        https://bugs.webkit.org/show_bug.cgi?id=24912
47156
47157        Resolve symlinks before trying to load plugins as modules, since
47158        GModule won't do it.
47159
47160        Based on original work by Gustavo Noronha.
47161
47162        * plugins/gtk/PluginPackageGtk.cpp:
47163        (WebCore::PluginPackage::load):
47164
471652010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
47166
47167        Reviewed by Xan Lopez.
47168
47169        Protect the resource loader object from disappearing during
47170        parseDataUrl.
47171
47172        Tested by testdownload API test.
47173
47174        * platform/network/soup/ResourceHandleSoup.cpp:
47175        (WebCore::parseDataUrl):
47176
471772010-02-17  Marcus Bulach  <bulach@chromium.org>
47178
47179        Reviewed by Jeremy Orlow.
47180
47181        Implements GeolocationServices for Chromium.
47182        https://bugs.webkit.org/show_bug.cgi?id=32068
47183
47184        This is part of implementing Geolocation framework for Chromium. Existing layout tests should pass.
47185
47186        * WebCore.gypi:
47187        * page/Geolocation.h:
47188        * platform/GeolocationService.h:
47189
471902010-02-17  Steve Block  <steveblock@google.com>
47191
47192        Reviewed by Ariya Hidayat.
47193
47194        Adds missing platform and feature guards to V8 bindings
47195        https://bugs.webkit.org/show_bug.cgi?id=34987
47196
47197        No new tests, build fix only.
47198
47199        * bindings/v8/V8Proxy.cpp: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
47200        * bindings/v8/V8Proxy.h: Modified. Adds CHROMIUM guards and uses PlatformBridge in place of ChromiumBridge
47201        * bindings/v8/custom/V8DocumentCustom.cpp: Modified. Adds XPATH guards
47202
472032010-02-17  Steve Block  <steveblock@google.com>
47204
47205        Reviewed by Ariya Hidayat.
47206
47207        Include WebCore's npruntime.h for Android in V8 bindings
47208        https://bugs.webkit.org/show_bug.cgi?id=35002
47209
47210        Currently, the V8 bindings include bindings/npruntime.h, which is a
47211        Chromium-specific file outside of the WebKit tree.
47212
47213        No new tests, build fix only.
47214
47215        * bindings/v8/NPV8Object.cpp:
47216        * bindings/v8/NPV8Object.h:
47217        * bindings/v8/V8NPObject.h:
47218        * bindings/v8/V8NPUtils.h:
47219        * bindings/v8/npruntime_impl.h:
47220        * bindings/v8/npruntime_priv.h:
47221
472222010-01-07  Philippe Normand  <pnormand@igalia.com>
47223
47224        Reviewed by Gustavo Noronha Silva.
47225
47226        [GStreamer] Should handle BUFFERING messages
47227        https://bugs.webkit.org/show_bug.cgi?id=30004
47228
47229        Initial support for on-disk buffering of videos. This works only
47230        for Quicktime and flv though.
47231
47232        * css/mediaControlsGtk.css:
47233        * platform/gtk/RenderThemeGtk.cpp:
47234        (WebCore::RenderThemeGtk::paintMediaSliderTrack): Draw the
47235        buffering status in the media controls.
47236        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47237        (WebCore::mediaPlayerPrivateMessageCallback): Defer buffering
47238        messages handling to processBufferingStats().
47239        (WebCore::bufferingTimeoutCallback): Closure called periodically
47240        during the on-disk buffering process.
47241        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): New instance
47242        variables and create playbin2 here instead of doing it in load().
47243        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): New instance
47244        variables.
47245        (WebCore::MediaPlayerPrivate::load): Simply set uri on playbin2
47246        instead of creating the pipeline and setting uri all together.
47247        (WebCore::MediaPlayerPrivate::processBufferingStats): Start a new
47248        timeout source if the player is starting on-disk buffering.
47249        (WebCore::MediaPlayerPrivate::queryBufferingStats): Method called
47250        200ms during on-disk buffering to update the maxTimeLoaded and few
47251        other private variables.
47252        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
47253        (WebCore::MediaPlayerPrivate::maxTimeLoaded):
47254        (WebCore::MediaPlayerPrivate::bytesLoaded): Fixed implementations
47255        regarding buffering.
47256        (WebCore::MediaPlayerPrivate::totalBytes): Improved logging.
47257        (WebCore::MediaPlayerPrivate::updateStates): Start playback if it
47258        was internally paused at beginning of on-disk buffering and set
47259        ready/network states depending on the state of the on-disk
47260        buffering process.
47261        (WebCore::MediaPlayerPrivate::didEnd): Emit durationChanged.
47262        (WebCore::MediaPlayerPrivate::setAutobuffer): Edit playbin2 flags
47263        property depending on autoBuffer value.
47264        (WebCore::MediaPlayerPrivate::createGSTPlayBin): Don't set uri
47265        there, it is now done in load().
47266        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: New methods
47267        and instance variables.
47268
472692010-02-16  Chris Evans  <cevans@chromium.org>
47270
47271        Reviewed by Adam Barth.
47272
47273        Add a new setting which gives the option of assigning every file:///
47274        to its own unique domain.
47275
47276        https://bugs.webkit.org/show_bug.cgi?id=34778
47277
47278        Test: Pending in forthcoming separate change due to non-trivial
47279        dependencies.
47280
47281        * dom/Document.cpp:
47282        (WebCore::Document::initSecurityContext): Place file:/// URI documents
47283        into their own unique domains if the new setting requires it.
47284        * page/Settings.h:
47285        * page/Settings.cpp:
47286        (WebCore::Settings::setAllowFileAccessFromFileURLs): Simple setter.
47287        * page/SecurityOrigin.h:
47288        * page/SecurityOrigin.cpp:
47289        (WebCore::SecurityOrigin::makeUnique): Add simple ability to force an
47290        origin to be considered unique.
47291
472922010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47293
47294        Reviewed by Timothy Hatcher.
47295
47296        Web Inspector: drosera/demo.js not syntax highlighted correctly.
47297
47298        https://bugs.webkit.org/show_bug.cgi?id=35008
47299
47300        * inspector/front-end/SourceTokenizer.js:
47301        (WebInspector.SourceTokenizer.Registry):
47302        (WebInspector.SourceTokenizer.Registry.prototype.getTokenizer):
47303
473042010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47305
47306        Reviewed by Timothy Hatcher.
47307
47308        Web Inspector: prefer smooth scrolling to instant highlight.
47309
47310        https://bugs.webkit.org/show_bug.cgi?id=34978
47311
47312        * inspector/front-end/TextViewer.js:
47313        (WebInspector.TextViewer):
47314        (WebInspector.TextViewer.prototype._scroll):
47315        (WebInspector.TextChunk):
47316        (WebInspector.TextChunk.prototype._createRow):
47317        * inspector/front-end/textViewer.css:
47318
473192010-02-16  Yael Aharon  <yael.aharon@nokia.com>
47320
47321        Reviewed by Nikolas Zimmermann.
47322
47323        SVG not rendered as background-image from data URI
47324        https://bugs.webkit.org/show_bug.cgi?id=33630
47325
47326        When the background image is an SVG image, and it is smaller than the area
47327        it is supposed to fill, we were using renderSubTreeToImage to draw it.
47328        That call was not going through all the drawing phases, and so the SVG itself
47329        would not be drawn.
47330
47331        Test: svg/css/background-image-svg.html
47332
47333        * svg/graphics/SVGImage.cpp:
47334        (WebCore::SVGImage::nativeImageForCurrentFrame):
47335
473362010-02-16  Bryan Yeung  <bryeung@chromium.org>
47337
47338        Reviewed by Nikolas Zimmermann.
47339
47340        Remove the bounds on stroke width and miter for the skia platform.
47341        https://bugs.webkit.org/show_bug.cgi?id=34954
47342
47343        Test: svg/custom/stroke-width-large.svg
47344
47345        * platform/graphics/skia/PlatformContextSkia.cpp:
47346        (PlatformContextSkia::setupPaintForStroking):
47347
473482010-02-16  MORITA Hajime  <morrita@gmail.com>
47349
47350        Reviewed by Nikolas Zimmermann.
47351
47352        REGRESSION: SVG text disappaears after double click
47353        https://bugs.webkit.org/show_bug.cgi?id=34880
47354
47355        Tests: svg/text/selection-doubleclick.svg
47356               svg/text/selection-tripleclick.svg
47357
47358        * rendering/SVGRootInlineBox.cpp:
47359        (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
47360        Use InlineTextBox::selectionStartEnd() instead of
47361        RenderObject::selectionStartEnd() because latter may span multiple
47362        comparing startPos and endPos is irrelevant in some cases.
47363        former selectionStartEnd() is for single line and comparing
47364        startPos and endPos will make sense.
47365
473662010-02-16  Jessie Berlin  <jberlin@webkit.org>
47367
47368        Reviewed by Timothy Hatcher.
47369
47370        Inspector should display Array lengths in the property lists.
47371        https://bugs.webkit.org/show_bug.cgi?id=20695
47372
47373        * inspector/front-end/InjectedScript.js:
47374        (injectedScriptConstructor):
47375        For objects of type 'array' (which includes Arrays, NodeLists, and HTMLCollections), make the length of the object available via propertyLength on the proxy object.
47376        * inspector/front-end/ObjectPropertiesSection.js:
47377        (WebInspector.ObjectPropertyTreeElement.prototype.update):
47378        For properties that have propertyLength defined, append it to the displayed description.
47379
473802010-02-16  Yusuke Sato  <yusukes@chromium.org>
47381
47382        Reviewed by Dimitri Glazkov.
47383
47384        [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
47385        https://bugs.webkit.org/show_bug.cgi?id=34735
47386
47387        Use 0xFFFF as invalidGlyph when fontData is a OpenType font with CFF glyphs.
47388        
47389        Test: fast/css/font-face-opentype.html
47390
47391        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
47392        (WebCore::fillBMPGlyphs):
47393
473942010-02-16  Darin Adler  <darin@apple.com>
47395
47396        * page/MediaCanStartListener.h: Fixed license.
47397
473982010-02-16  Darin Adler  <darin@apple.com>
47399
47400        Reviewed by Sam Weinig.
47401
47402        Generalize delayed plug-in start for background tabs for use for other media
47403        https://bugs.webkit.org/show_bug.cgi?id=34981
47404
47405        Also did some simple cleanup of HTMLMediaElement to get ready to make it
47406        a client of the same mechanism.
47407
47408        * WebCore.base.exp: Added Page::setCanStartMedia and resorted.
47409        * WebCore.xcodeproj/project.pbxproj: Added MediaCanStartListener.h.
47410
47411        * html/HTMLAudioElement.h: Added an implementation of isVideo since that
47412        is now a pure virtual function in HTMLMediaElement. Also made tagPriority
47413        private.
47414
47415        * html/HTMLMediaElement.h: Made it clearer that HTMLMediaElement is an
47416        abstract base class by making its constructor protected and making the
47417        isVideo function a pure virtual function.
47418
47419        * page/Page.cpp:
47420        (WebCore::Page::Page): Updated for name change from m_canStartPlugins
47421        to m_canStartMedia.
47422        (WebCore::Page::addMediaCanStartListener): Renamed and added an assertion.
47423        (WebCore::Page::removeUnstartedMedia): Ditto.
47424        (WebCore::Page::setCanStartMedia): Renamed plugin to media and moved
47425        the code here from PageWin.cpp. The main change from the one in PageWin.cpp
47426        is that this function calls mediaCanStart rather than explicitly calling a
47427        combination of start and dispatchDidFailToStartPlugin on a PluginView.
47428
47429        * page/Page.h: Re-sorted forward class declarations. Renamed the plugin
47430        starting functions to media starting names and changed types from
47431        PluginView to MediaCanStartListener.
47432
47433        * page/MediaCanStartListener.h: Added.
47434
47435        * page/win/PageWin.cpp: Moved setCanStartPlugins to the platform-independent
47436        Page.cpp file so it can be used for more than just Windows plug-ins.
47437
47438        * plugins/PluginView.cpp: Sorted includes.
47439        (WebCore::PluginView::startOrAddToUnstartedList): Use addMediaCanStartListener.
47440        (WebCore::PluginView::mediaCanStart): Added. Called when the page decides that
47441        media can start. Contains the code that used to be in Page::setCanStartPlugins.
47442        (WebCore::PluginView::removeFromUnstartedListIfNecessary): Use
47443        removeMediaCanStartListener.
47444
47445        * plugins/PluginView.h: Adopted MediaCanStartListener.
47446
474472010-02-16  Simon Fraser  <simon.fraser@apple.com>
47448
47449        Reviewed by Dan Bernstein.
47450
47451        https://bugs.webkit.org/show_bug.cgi?id=34999
47452        Compositing layers inside overflow:scroll divs are not always updated on scrolling
47453        
47454        When RenderLayer::scrollToOffset() updates compositing layer positions, it needs
47455        to start updating at its stacking context rather than just its compositing ancestor.
47456        The stacking context is guaranteed to contain all descendants of the overflow
47457        layer, including those that are not direct descendants of the overflow layer in stacking
47458        (and therefore compositing) order.
47459
47460        Test: compositing/overflow/scroll-ancestor-update.html
47461
47462        * rendering/RenderLayer.cpp:
47463        (WebCore::RenderLayer::scrollToOffset):
47464
474652010-02-16  Dan Bernstein  <mitz@apple.com>
47466
47467        Reviewed by Simon Fraser.
47468
47469        Allow FloatRect::center() to return fractional coordinates. It was
47470        mistakenly converting to integers.
47471
47472        * platform/graphics/FloatRect.h:
47473        (WebCore::FloatRect::center):
47474
474752010-02-16  Gavin Barraclough  <barraclough@apple.com>
47476
47477        Reviewed by Oliver Hunt.
47478
47479        https://bugs.webkit.org/show_bug.cgi?id=34964
47480        Leaks tool reports false memory leaks due to Rope implementation.
47481
47482        Renamed cUStringImpl::size() to UStringImpl::size()UStringImpl::length()
47483        (matches WebCore::StringImpl).
47484
47485        * bridge/jni/jsc/JavaStringJSC.h:
47486        (JSC::Bindings::JavaStringImpl::length):
47487        * platform/text/AtomicString.cpp:
47488        (WebCore::AtomicString::add):
47489        (WebCore::AtomicString::find):
47490
474912010-02-15  Jon Honeycutt  <jhoneycutt@apple.com>
47492
47493        <rdar://problem/7288853> Message about missing plugin does not specify
47494        the type or download link for download
47495
47496        Reviewed by Mark Rowe.
47497
47498        * plugins/PluginDatabase.cpp:
47499        (WebCore::PluginDatabase::findPlugin):
47500        Only update the mimeType out param if we find a plug-in for the file
47501        extension.
47502
475032010-02-16  Simon Fraser  <simon.fraser@apple.com>
47504
47505        Build fix for Tiger.
47506
47507        Add #if USE(ACCELERATED_COMPOSITING) around the call to mediaPlayerRenderingModeChanged().
47508        
47509        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47510        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47511
475122010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
47513
47514        Reviewed by Eric Carlson.
47515
47516        Buildfix for r54826.
47517
47518        HTMLMediaElement class defined by HTMLMediaElement.h in #if ENABLE(VIDEO) block,
47519        it should be in #if ENABLE(VIDEO) block in rendering/RenderLayerBacking.cpp too.
47520
47521        * rendering/RenderLayerBacking.cpp: Missing #if ENABLE(VIDEO) guard added.
47522        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
47523
475242010-02-16  Julie Parent  <jparent@chromium.org>
47525
47526        Unreviewed: Chromium build fix.
47527
47528        http://trac.webkit.org/changeset/54823 introduced an unused variable.  Remove it.
47529
47530        * platform/image-decoders/ImageDecoder.cpp:
47531        (WebCore::ImageDecoder::create):
47532
475332010-02-16  Mark Rowe  <mrowe@apple.com>
47534
47535        Reviewed by Alexey Proskuryakov.
47536
47537        Bug 34974: Leak of ScheduledAction during layout tests
47538        <https://bugs.webkit.org/show_bug.cgi?id=34974>
47539
47540        ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
47541        If any of the code paths in between hit an error case and returned early the raw pointer would be leaked.  We
47542        can avoid this by passing it as a PassOwnPtr.  This will ensure that the ScheduledAction is cleaned up should
47543        an error case be hit.
47544
47545        * bindings/js/JSDOMWindowCustom.cpp:
47546        (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
47547        as the function argument.
47548        (WebCore::JSDOMWindow::setInterval): Ditto.
47549        * bindings/js/JSWorkerContextCustom.cpp:
47550        (WebCore::JSWorkerContext::setTimeout): Ditto.
47551        (WebCore::JSWorkerContext::setInterval): Ditto.
47552        * bindings/js/ScheduledAction.cpp:
47553        (WebCore::ScheduledAction::create): Return a PassOwnPtr.
47554        * bindings/js/ScheduledAction.h:
47555        * page/DOMTimer.cpp:
47556        (WebCore::DOMTimer::DOMTimer): Update argument type.
47557        (WebCore::DOMTimer::install): Ditto.
47558        * page/DOMTimer.h:
47559        * page/DOMWindow.cpp:
47560        (WebCore::DOMWindow::setTimeout): Ditto.
47561        (WebCore::DOMWindow::setInterval): Ditto.
47562        * page/DOMWindow.h:
47563
475642010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>
47565
47566        Reviewed by David Hyatt.
47567
47568        SVG units don't stay consistently sized on zoom
47569        https://bugs.webkit.org/show_bug.cgi?id=14004
47570
47571        Large step towards making WebKit an usable SVG viewer.
47572
47573        Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
47574        SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
47575        Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
47576        properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
47577        To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
47578
47579        Some new rules regarding zooming:
47580        - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
47581          This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
47582          In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
47583
47584        - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
47585
47586        Cover all mentioned cases above by a new set of layout tests.
47587
47588        Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
47589               svg/zoom/page/absolute-sized-document-scrollbars.svg
47590               svg/zoom/page/relative-sized-document-scrollbars.svg
47591               svg/zoom/page/zoom-coords-viewattr-01-b.svg
47592               svg/zoom/page/zoom-foreignObject.svg
47593               svg/zoom/page/zoom-hixie-mixed-008.xml
47594               svg/zoom/page/zoom-hixie-mixed-009.xml
47595               svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
47596               svg/zoom/page/zoom-svg-float-border-padding.xml
47597               svg/zoom/text/absolute-sized-document-no-scrollbars.svg
47598               svg/zoom/text/absolute-sized-document-scrollbars.svg
47599               svg/zoom/text/relative-sized-document-scrollbars.svg
47600               svg/zoom/text/zoom-coords-viewattr-01-b.svg
47601               svg/zoom/text/zoom-foreignObject.svg
47602               svg/zoom/text/zoom-hixie-mixed-008.xml
47603               svg/zoom/text/zoom-hixie-mixed-009.xml
47604               svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
47605               svg/zoom/text/zoom-svg-float-border-padding.xml
47606
47607        * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
47608        (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
47609        (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
47610        (WebCore::CSSStyleSelector::setFontSize): Ditto.
47611        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
47612        * css/CSSStyleSelector.h:
47613        * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
47614        (WebCore::CSSStyleSelector::applySVGProperty):
47615        * page/Frame.cpp:
47616        (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
47617        (WebCore::Frame::shouldApplyPageZoom): Ditto.
47618        (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
47619        * rendering/RenderSVGRoot.cpp:
47620        (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
47621        (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
47622        (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
47623        (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
47624        (WebCore::RenderSVGRoot::calcViewport): Simplify code.
47625        (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
47626        * rendering/RenderSVGRoot.h:
47627        * svg/SVGLength.cpp:
47628        (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
47629        * svg/SVGSVGElement.cpp:
47630        (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
47631        (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
47632
476332010-02-16  Julie Parent  <jparent@chromium.org>
47634
47635        Unreviewed: Chromium build fix.
47636
47637        https://bugs.webkit.org/show_bug.cgi?id=34998
47638
47639        Move include of JavaScriptProfile.h behind if (USE_JSC).
47640
47641        * inspector/InspectorController.cpp:
47642
476432010-02-16  Alexey Proskuryakov  <ap@apple.com>
47644
47645        Reviewed by Geoffrey Garen and Kevin Decker.
47646
47647        https://bugs.webkit.org/show_bug.cgi?id=34989
47648        <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
47649
47650        * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
47651        comments about the way we pass events down to plug-ins.
47652
476532010-02-16  Simon Fraser  <simon.fraser@apple.com>
47654
47655        Reviewed by Eric Carlson.
47656
47657        With hardware acceleration turned off, video frames never display if poster
47658        image is specified
47659        https://bugs.webkit.org/show_bug.cgi?id=34965
47660        
47661        HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
47662        the movie supplied its first video frame, so the poster would continue to show.
47663        
47664        Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
47665        each time a new frame is available. updatePosterImage() is cheap.
47666        
47667        Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
47668        ugly casts.
47669
47670        Test: manual-tests/media-elements/video-replaces-poster.html
47671
47672        * html/HTMLMediaElement.cpp:
47673        (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
47674        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
47675        (WebCore::HTMLMediaElement::setReadyState): Ditto.
47676        (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
47677        * html/HTMLMediaElement.h:
47678        (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
47679        method on the base class.
47680        * html/HTMLVideoElement.h: Override updatePosterImage().
47681
476822010-02-16  Simon Fraser  <simon.fraser@apple.com>
47683
47684        Build fix for platforms without ACCELERATED_COMPOSITING defined.
47685
47686        mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
47687        
47688        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47689        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
47690
476912010-02-16  Simon Fraser  <simon.fraser@apple.com>
47692
47693        Reviewed by Eric Carlson.
47694
47695        Autoplaying video with poster doesn't reliably show up
47696        https://bugs.webkit.org/show_bug.cgi?id=34966
47697        
47698        A timing issue with compositing updates when replacing the poster image
47699        with the video could cause the video to not display.
47700        
47701        Fix by making video layer hook up more similar to WebGL etc, by having the
47702        video kick off a recalcStyle() via a SyntheticStyleChange. This requires
47703        vending a PlaformLayer* from the media player, up through the element.
47704
47705        Test: media/video-replaces-poster.html
47706
47707        * html/HTMLMediaElement.cpp:
47708        (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
47709        to kick off a compositing update.
47710
47711        * html/HTMLMediaElement.h:
47712        (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
47713
47714        * platform/graphics/MediaPlayer.cpp:
47715        (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
47716        (WebCore::MediaPlayer::platformLayer):
47717
47718        * platform/graphics/MediaPlayer.h:
47719        (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
47720        to indicate that the rendering mode changed. The element uses this to kick off a
47721        recalcStyle.
47722
47723        * platform/graphics/MediaPlayerPrivate.h:
47724        (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
47725        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
47726        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
47727        (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
47728        via setContentsToMedia().
47729        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
47730        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
47731        rendering mode changed.
47732        (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
47733        * rendering/RenderLayerBacking.cpp:
47734        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
47735        here.
47736
47737        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
47738        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
47739        (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
47740        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
47741        (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
47742
47743        * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
47744        * rendering/RenderVideo.cpp: Ditto.
47745
477462010-02-12  Peter Kasting  <pkasting@google.com>
47747
47748        Reviewed by Adam Barth.
47749
47750        Code cleanup in ImageDecoders; no functional change.
47751        https://bugs.webkit.org/show_bug.cgi?id=28751
47752
47753        * Make code mostly comply with the style guide (switch indenting, use of
47754          "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
47755        * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
47756          base ImageDecoder class
47757        * Remove some useless or wrong comments, add others
47758        * Wrap comments at 80 columns (most already were) for
47759          consistency/readability
47760        * Avoid casts by using correct variable types
47761        * Consistent naming of decode() function/args
47762        * Shorter code in some places
47763        * Make declaration and definition order match
47764
47765        * platform/graphics/qt/ImageDecoderQt.cpp:
47766        (WebCore::ImageDecoderQt::frameCount):
47767        (WebCore::ImageDecoderQt::frameBufferAtIndex):
47768        (WebCore::ImageDecoderQt::forceLoadEverything):
47769        * platform/image-decoders/ImageDecoder.cpp:
47770        (WebCore::ImageDecoder::create):
47771        (WebCore::RGBA32Buffer::clear):
47772        (WebCore::RGBA32Buffer::setSize):
47773        * platform/image-decoders/ImageDecoder.h:
47774        (WebCore::RGBA32Buffer::):
47775        (WebCore::ImageDecoder::ImageDecoder):
47776        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
47777        (WebCore::BMPImageDecoder::BMPImageDecoder):
47778        (WebCore::BMPImageDecoder::setData):
47779        (WebCore::BMPImageDecoder::isSizeAvailable):
47780        (WebCore::BMPImageDecoder::frameBufferAtIndex):
47781        (WebCore::BMPImageDecoder::decode):
47782        (WebCore::BMPImageDecoder::decodeHelper):
47783        (WebCore::BMPImageDecoder::processFileHeader):
47784        * platform/image-decoders/bmp/BMPImageDecoder.h:
47785        (WebCore::BMPImageDecoder::readUint32):
47786        * platform/image-decoders/bmp/BMPImageReader.cpp:
47787        (WebCore::BMPImageReader::BMPImageReader):
47788        (WebCore::BMPImageReader::decodeBMP):
47789        (WebCore::BMPImageReader::readInfoHeaderSize):
47790        (WebCore::BMPImageReader::processInfoHeader):
47791        (WebCore::BMPImageReader::readInfoHeader):
47792        (WebCore::BMPImageReader::isInfoHeaderValid):
47793        (WebCore::BMPImageReader::processBitmasks):
47794        (WebCore::BMPImageReader::processColorTable):
47795        (WebCore::BMPImageReader::processRLEData):
47796        (WebCore::BMPImageReader::processNonRLEData):
47797        * platform/image-decoders/bmp/BMPImageReader.h:
47798        (WebCore::BMPImageReader::readUint32):
47799        (WebCore::BMPImageReader::pastEndOfImage):
47800        (WebCore::BMPImageReader::readCurrentPixel):
47801        (WebCore::BMPImageReader::getComponent):
47802        (WebCore::BMPImageReader::getAlpha):
47803        (WebCore::BMPImageReader::setI):
47804        (WebCore::BMPImageReader::setRGBA):
47805        * platform/image-decoders/gif/GIFImageDecoder.cpp:
47806        (WebCore::GIFImageDecoder::GIFImageDecoder):
47807        (WebCore::GIFImageDecoder::setData):
47808        (WebCore::GIFImageDecoder::isSizeAvailable):
47809        (WebCore::GIFImageDecoder::frameCount):
47810        (WebCore::GIFImageDecoder::frameBufferAtIndex):
47811        (WebCore::GIFImageDecoder::clearFrameBufferCache):
47812        (WebCore::GIFImageDecoder::sizeNowAvailable):
47813        (WebCore::GIFImageDecoder::haveDecodedRow):
47814        (WebCore::GIFImageDecoder::frameComplete):
47815        (WebCore::GIFImageDecoder::decode):
47816        (WebCore::GIFImageDecoder::initFrameBuffer):
47817        * platform/image-decoders/gif/GIFImageDecoder.h:
47818        (WebCore::GIFImageDecoder::):
47819        (WebCore::GIFImageDecoder::filenameExtension):
47820        * platform/image-decoders/gif/GIFImageReader.cpp:
47821        (GIFImageReader::do_lzw):
47822        (GIFImageReader::read):
47823        * platform/image-decoders/gif/GIFImageReader.h:
47824        (GIFImageReader::~GIFImageReader):
47825        * platform/image-decoders/ico/ICOImageDecoder.cpp:
47826        (WebCore::ICOImageDecoder::ICOImageDecoder):
47827        (WebCore::ICOImageDecoder::~ICOImageDecoder):
47828        (WebCore::ICOImageDecoder::setData):
47829        (WebCore::ICOImageDecoder::isSizeAvailable):
47830        (WebCore::ICOImageDecoder::frameSizeAtIndex):
47831        (WebCore::ICOImageDecoder::frameCount):
47832        (WebCore::ICOImageDecoder::frameBufferAtIndex):
47833        (WebCore::ICOImageDecoder::compareEntries):
47834        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
47835        (WebCore::ICOImageDecoder::decode):
47836        (WebCore::ICOImageDecoder::decodeDirectory):
47837        (WebCore::ICOImageDecoder::decodeAtIndex):
47838        (WebCore::ICOImageDecoder::processDirectoryEntries):
47839        (WebCore::ICOImageDecoder::readDirectoryEntry):
47840        * platform/image-decoders/ico/ICOImageDecoder.h:
47841        (WebCore::ICOImageDecoder::readUint16):
47842        (WebCore::ICOImageDecoder::readUint32):
47843        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
47844        (WebCore::):
47845        (WebCore::JPEGImageReader::JPEGImageReader):
47846        (WebCore::JPEGImageReader::skipBytes):
47847        (WebCore::JPEGImageReader::decode):
47848        (WebCore::error_exit):
47849        (WebCore::fill_input_buffer):
47850        (WebCore::term_source):
47851        (WebCore::JPEGImageDecoder::setData):
47852        (WebCore::JPEGImageDecoder::setSize):
47853        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
47854        (WebCore::JPEGImageDecoder::jpegComplete):
47855        (WebCore::JPEGImageDecoder::decode):
47856        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
47857        (WebCore::JPEGImageDecoder::filenameExtension):
47858        * platform/image-decoders/png/PNGImageDecoder.cpp:
47859        (WebCore::decodingFailed):
47860        (WebCore::decodingWarning):
47861        (WebCore::headerAvailable):
47862        (WebCore::rowAvailable):
47863        (WebCore::pngComplete):
47864        (WebCore::PNGImageReader::PNGImageReader):
47865        (WebCore::PNGImageReader::close):
47866        (WebCore::PNGImageReader::decode):
47867        (WebCore::PNGImageReader::createInterlaceBuffer):
47868        (WebCore::PNGImageDecoder::setData):
47869        (WebCore::PNGImageDecoder::frameBufferAtIndex):
47870        (WebCore::PNGImageDecoder::headerAvailable):
47871        (WebCore::PNGImageDecoder::rowAvailable):
47872        (WebCore::PNGImageDecoder::pngComplete):
47873        (WebCore::PNGImageDecoder::decode):
47874        * platform/image-decoders/png/PNGImageDecoder.h:
47875        (WebCore::PNGImageDecoder::filenameExtension):
47876        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
47877        (WebCore::RGBA32Buffer::setDecodedImage):
47878
478792010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
47880
47881        [Qt] Unreviewed buildfix.
47882
47883        * WebCore.pro: Missing backslash added.
47884
478852010-02-16  Mikhail Naganov  <mnaganov@chromium.org>
47886
47887        Reviewed by Pavel Feldman.
47888
47889        Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
47890
47891        https://bugs.webkit.org/show_bug.cgi?id=34848
47892
47893        * GNUmakefile.am:
47894        * WebCore.gypi:
47895        * WebCore.pro:
47896        * WebCore.vcproj/WebCore.vcproj:
47897        * WebCore.xcodeproj/project.pbxproj:
47898        * bindings/js/JavaScriptProfile.cpp: Added.
47899        (WebCore::profileCache):
47900        (WebCore::getTitleCallback):
47901        (WebCore::getHeadCallback):
47902        (WebCore::getUniqueIdCallback):
47903        (WebCore::focus):
47904        (WebCore::exclude):
47905        (WebCore::restoreAll):
47906        (WebCore::finalize):
47907        (WebCore::ProfileClass):
47908        (WebCore::toJS):
47909        * bindings/js/JavaScriptProfile.h: Added.
47910        * bindings/js/JavaScriptProfileNode.cpp: Added.
47911        (WebCore::profileNodeCache):
47912        (WebCore::getFunctionName):
47913        (WebCore::getURL):
47914        (WebCore::getLineNumber):
47915        (WebCore::getTotalTime):
47916        (WebCore::getSelfTime):
47917        (WebCore::getNumberOfCalls):
47918        (WebCore::getChildren):
47919        (WebCore::getVisible):
47920        (WebCore::getCallUID):
47921        (WebCore::finalize):
47922        (WebCore::ProfileNodeClass):
47923        (WebCore::toJS):
47924        * bindings/js/JavaScriptProfileNode.h: Added.
47925        * inspector/JavaScriptProfile.cpp: Removed.
47926        * inspector/JavaScriptProfile.h: Removed.
47927        * inspector/JavaScriptProfileNode.cpp: Removed.
47928        * inspector/JavaScriptProfileNode.h: Removed.
47929
479302010-02-16  Alexander Pavlov  <apavlov@chromium.org>
47931
47932        Reviewed by Pavel Feldman.
47933
47934        Web Inspector: Elements Panel: Limit the number of initially loaded element children
47935        https://bugs.webkit.org/show_bug.cgi?id=34421
47936
47937        Test: inspector/elements-panel-limited-children.html
47938
47939        * English.lproj/localizedStrings.js:
47940        * inspector/front-end/DOMAgent.js:
47941        (WebInspector.DOMNode.prototype._insertChild):
47942        * inspector/front-end/ElementsPanel.js:
47943        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
47944        * inspector/front-end/ElementsTreeOutline.js:
47945        (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
47946        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
47947        (WebInspector.ElementsTreeElement):
47948        (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
47949        (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
47950        (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
47951        (WebInspector.ElementsTreeElement.prototype.showChild):
47952        (WebInspector.ElementsTreeElement.prototype.insertChildElement):
47953        (WebInspector.ElementsTreeElement.prototype.moveChild):
47954        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
47955        (WebInspector.ElementsTreeElement.prototype._updateChildren):
47956        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
47957        (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
47958        ():
47959        * inspector/front-end/inspector.css:
47960
479612010-02-16  Ismail Donmez  <ismail@namtrac.org>
47962
47963        Reviewed by Pavel Feldman.
47964
47965        Fix compilation with inspector disabled.
47966        https://bugs.webkit.org/show_bug.cgi?id=32724
47967
47968        * rendering/RenderLayerBacking.cpp:
47969        (WebCore::inspectorTimelineAgent):
47970
479712010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47972
47973        Reviewed by Timothy Hatcher.
47974
47975        Web Inspector: turn off line wrapping in source view.
47976
47977        https://bugs.webkit.org/show_bug.cgi?id=34935
47978
47979        * inspector/front-end/TextViewer.js:
47980        (WebInspector.TextViewer.prototype.markAndRevealRange):
47981        (WebInspector.TextViewer.prototype._paintLine):
47982        * inspector/front-end/textViewer.css:
47983        * inspector/front-end/utilities.js:
47984
479852010-02-16  Pavel Feldman  <pfeldman@chromium.org>
47986
47987        Reviewed by Timothy Hatcher.
47988
47989        Web Inspector: let search iterate over views in Resources
47990        and keep the view in Scripts.
47991
47992        https://bugs.webkit.org/show_bug.cgi?id=34968
47993
47994        * inspector/front-end/Panel.js:
47995        (WebInspector.Panel.prototype.jumpToNextSearchResult):
47996        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
47997        (WebInspector.Panel.prototype.showSourceLineForURL):
47998        (WebInspector.Panel.prototype.searchIteratesOverViews):
47999        * inspector/front-end/ResourcesPanel.js:
48000        (WebInspector.ResourcesPanel.prototype.get _resources):
48001        (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
48002        * inspector/front-end/SourceView.js:
48003        (WebInspector.SourceView.prototype.showingLastSearchResult):
48004        * inspector/front-end/inspector.js:
48005        (WebInspector.documentKeyDown):
48006        (WebInspector.focusSearchField):
48007
480082010-02-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
48009
48010        Reviewed by Ariya Hidayat.
48011
48012        [Qt] canvas clipping is buggy
48013        https://bugs.webkit.org/show_bug.cgi?id=32405
48014
48015        Apparently the bug was in GraphicsContext::roundToDevicePixels, we
48016        didn't take unto accounts rotation, so the device pixels were rounded
48017        incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
48018        it should be rather safe
48019
48020        Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
48021
48022        * platform/graphics/qt/GraphicsContextQt.cpp:
48023        (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
48024        GraphicsContextCG
48025
480262010-02-16  Yury Semikhatsky  <yurys@chromium.org>
48027
48028        Not Reviewed, build fix.
48029
48030        * platform/graphics/FloatRect.h:
48031        (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
48032        doesn't complain about that.
48033
480342010-02-15  Dan Bernstein  <mitz@apple.com>
48035
48036        Reviewed by Simon Fraser.
48037
48038        <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
48039
48040        Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
48041        a quad’s bounding box, rather than its top left, as the reference point passed to
48042        offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
48043        one column, but most of it is on another column, the single rect we return will be for the
48044        second column.
48045
48046        * platform/graphics/FloatRect.h:
48047        (WebCore::FloatRect::center): Added.
48048        * rendering/RenderObject.cpp:
48049        (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.
48050
480512010-02-15  MORITA Hajime  <morrita@gmail.com>
48052
48053        Reviewed by Nikolas Zimmermann.
48054
48055        SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
48056
48057        https://bugs.webkit.org/show_bug.cgi?id=34831
48058
48059        No new tests, no change of functionality.
48060
48061        * rendering/SVGCharacterLayoutInfo.h:
48062        (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
48063        Removed setupBackground(), setupFill(), setupFillSelection(),
48064        setupStroke(), setupStrokeSelection(), setupForeground()
48065        and associated member variables.
48066        
48067        * rendering/SVGRootInlineBox.cpp:
48068        (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
48069        renamed from chunkSetupBackgroundCallback.
48070        (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
48071        renamed from chunkSetupFillCallback.
48072        (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
48073        renamed from chunkSetupFillSelectionCallback.
48074        (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
48075        renamed from chunkSetupStrokeCallback.
48076        (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
48077        renamed from chunkSetupStrokeSelectionCallback.
48078        (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
48079        renamed from chunkSetupForegroundCallback.
48080        (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
48081        renamed from chunkPortionCallback.
48082        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
48083        extracted from walkTextChunks.
48084        (WebCore::SVGRootInlineBox::paint):
48085        follow SVGTextChunkWalker change.
48086        (WebCore::SVGRootInlineBox::walkTextChunks):
48087        moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
48088        
480892010-02-15  Dan Bernstein  <mitz@apple.com>
48090
48091        Try to fix the Chromium build.
48092
48093        * rendering/RenderThemeChromiumMac.mm:
48094        (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
48095
480962010-02-14  Gavin Barraclough  <barraclough@apple.com>
48097
48098        Reviewed by Darin Adler.
48099
48100        https://bugs.webkit.org/show_bug.cgi?id=33731
48101        Many false leaks in release builds due to PtrAndFlags
48102
48103        PtrAndFlags has now been removed; remove forwarding header.
48104
48105        * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
48106
481072010-02-15  Gavin Barraclough  <barraclough@apple.com>
48108
48109        Reviewed by Geoff Garen.
48110
48111        Bug 34952 - String lengths in UString should be unsigned.
48112        This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
48113
48114        * bindings/js/JSDOMWindowCustom.cpp:
48115        (WebCore::JSDOMWindow::atob):
48116        (WebCore::JSDOMWindow::btoa):
48117
481182010-02-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
48119
48120        Reviewed by Xan Lopez.
48121
48122        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
48123        https://bugs.webkit.org/show_bug.cgi?id=34944
48124
48125        Set the URL in the newly created response, when parsing data:
48126        URIs.
48127
48128        Test: fast/harness/page-cache-crash-on-data-urls.html
48129
48130        * platform/network/soup/ResourceHandleSoup.cpp:
48131        (WebCore::parseDataUrl):
48132
481332010-02-15  Dan Bernstein  <mitz@apple.com>
48134
48135        Reviewed by Simon Fraser.
48136
48137        <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
48138        https://bugs.webkit.org/show_bug.cgi?id=34923
48139
48140        Test: fast/multicol/client-rects.html
48141
48142        In column layout, a different transform applies to different points in
48143        the block and its descendants, depending on their y coordinate within the
48144        block. offsetFromContainer() used to return the offset that applied to
48145        the origin. With this change, it returns the offset that applies to a
48146        given reference point. When mapping a quad from local to absolute
48147        coordinates, the top left of the quad’s bounding box is used as that
48148        reference point.
48149
48150        * editing/SelectionController.cpp:
48151        (WebCore::SelectionController::layout): Pass the caret’s origin as the
48152        reference point to offsetFromContainer().
48153        * rendering/RenderBlock.cpp:
48154        (WebCore::RenderBlock::adjustForColumns): Adds the offset between the
48155        given point and its image under the column paint-time transform to the
48156        given offset. Used by offsetFromContainer() where it had previously used
48157        adjustRectForColumns(), which takes a rect and operates less efficiently.
48158        * rendering/RenderBlock.h:
48159        * rendering/RenderBox.cpp:
48160        (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
48161        the reference point to offsetFromContainer().
48162        (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
48163        offsetFromContainer().
48164        (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
48165        of adjustRectForColumns(), and use the reference point to get the right
48166        adjustment for the point of interest, instead of the origin, in case this
48167        box spans multiple columns.
48168        * rendering/RenderBox.h:
48169        * rendering/RenderInline.cpp:
48170        (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
48171        column offset to the computation, which previously this function didn’t
48172        do.
48173        (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
48174        as the reference point to offsetFromContainer().
48175        (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
48176        offsetFromContainer().
48177        * rendering/RenderInline.h:
48178        * rendering/RenderObject.cpp:
48179        (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
48180        based on the reference point, to the transform if needed.
48181        (WebCore::RenderObject::localToContainerQuad): Initialize the
48182        TransformState with the top left corner of the quad’s bounding box. It
48183        is later used as the reference point when deciding on which column to
48184        base the calculations.
48185        (WebCore::RenderObject::offsetFromContainer): Adjust for columns.
48186        (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
48187        as the reference point to offsetFromContainer().
48188        * rendering/RenderObject.h:
48189        (WebCore::RenderObject::adjustForColumns): Added.
48190        * rendering/RenderTableCell.cpp:
48191        (WebCore::RenderTableCell::offsetFromContainer): Pass the reference
48192        point through.
48193        * rendering/RenderTableCell.h:
48194        * rendering/RenderText.cpp:
48195        (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
48196        rect to absolute coordinates individually.
48197        * rendering/RenderThemeMac.mm:
48198        (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
48199        offsetFromContainer().
48200
482012010-02-12  Alexey Proskuryakov  <ap@apple.com>
48202
48203        Reviewed by Kevin Decker.
48204
48205        <rdar://problem/7130641> Browser objects identity is not preserved by Safari
48206
48207        Test: plugins/netscape-browser-object-identity.html
48208
48209        * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
48210        RootObject can now call out during invalidation, making it possible for other code to know
48211        when this happens.
48212
48213        * bridge/runtime_root.cpp:
48214        (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
48215        in cpp file since it's virtual.
48216        (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
48217
48218        * bridge/NP_jsobject.cpp:
48219        (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
48220        keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
48221        JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
48222        separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
48223        (jsDeallocate): Remove the corresponding map entry.
48224        (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
48225
482262010-02-15  Philippe Normand  <pnormand@igalia.com>
48227
48228        Rubber-stamped by Gustavo Noronha Silva.
48229
48230        Removed redefine of LOG_VERBOSE. This should not have commited in
48231        the first place.
48232
48233        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48234
482352010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48236
48237        Reviewed by Timothy Hatcher.
48238
48239        Web Inspector: incorrect syntax highlighting as HTML in a script tag.
48240        We were preserving initial lexer state upon entering other tags while in <script>
48241        but were not doing it for <script tag itself. As a result, nested script
48242        tags were failing to highlight.
48243
48244        https://bugs.webkit.org/show_bug.cgi?id=34934
48245
48246        * inspector/front-end/SourceHTMLTokenizer.js:
48247        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
48248        * inspector/front-end/SourceHTMLTokenizer.re2js:
48249
482502010-02-15  Brady Eidson  <beidson@apple.com>
48251
48252        Reviewed by Dan Bernstein.
48253
48254        Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
48255        messages over to WebCore-style.
48256
48257        No new tests. (Logging changes only)
48258
48259        * loader/ProgressTracker.cpp:
48260        (WebCore::ProgressTracker::progressStarted):
48261        (WebCore::ProgressTracker::progressCompleted):
48262        (WebCore::ProgressTracker::finalProgressComplete):
48263        (WebCore::ProgressTracker::incrementProgress):
48264
48265        * platform/Logging.cpp:
48266        (WebCore::):
48267        (WebCore::getChannelFromName):
48268        * platform/Logging.h:
48269
482702010-02-15  Noam Rosenthal  <noam.rosenthal@nokia.com>
48271
48272        Reviewed by Simon Hausmann.
48273
48274        [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
48275        https://bugs.webkit.org/show_bug.cgi?id=34901
48276
48277        When a signal/slot/property is of type QWebElement, it can seamlessly
48278        connect with JS objects that hold a WebCore element.
48279
48280        New tests, see WebKit/qt/ChangeLog
48281
48282        * bridge/qt/qt_runtime.cpp:
48283        (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
48284        constructor
48285        (JSC::Bindings::QtWebElementRuntime::get): A proxy to
48286        QWebElement::element
48287        (JSC::Bindings::convertValueToQVariant): handle QWebElement
48288        (JSC::Bindings::convertQVariantToValue): handle QWebElement
48289
482902010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48291
48292        Not reviewed, Chromium build fix (force conversion of property names to
48293        strings in Web Inspector's injected script).
48294
48295        * inspector/front-end/InjectedScript.js:
48296        (injectedScriptConstructor):
48297
482982010-02-15  Pavel Feldman  <pfeldman@chromium.org>
48299
48300        Not reviewed: touch InspectorController in order to kick win bot tests
48301        with new injected script contents.
48302
48303        * inspector/InspectorController.cpp:
48304
483052010-02-14  Pavel Feldman  <pfeldman@chromium.org>
48306
48307        Reviewed by Timothy Hatcher.
48308
48309        Web Inspector: highlight actual search match in elements panel.
48310
48311        https://bugs.webkit.org/show_bug.cgi?id=34251
48312
48313        * inspector/front-end/ElementsPanel.js:
48314        (WebInspector.ElementsPanel.prototype.searchCanceled):
48315        (WebInspector.ElementsPanel.prototype.performSearch):
48316        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
48317        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
48318        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
48319        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
48320        (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
48321        * inspector/front-end/InjectedScript.js:
48322        * inspector/front-end/SourceFrame.js:
48323        (WebInspector.SourceFrame.prototype.findSearchMatches):
48324        * inspector/front-end/TextViewer.js:
48325        (WebInspector.TextViewer.prototype._paintLine):
48326        * inspector/front-end/textViewer.css:
48327        * inspector/front-end/utilities.js:
48328
483292010-02-14  Pavel Feldman  <pfeldman@chromium.org>
48330
48331        Reviewed by Timothy Hatcher.
48332
48333        Web Inspector: XPathResult objects are not expanded in console.
48334
48335        https://bugs.webkit.org/show_bug.cgi?id=34926
48336
48337        * inspector/front-end/InjectedScript.js:
48338        (injectedScriptConstructor):
48339        * inspector/front-end/ObjectPropertiesSection.js:
48340        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
48341        (WebInspector.ObjectPropertiesSection.CompareProperties):
48342        (WebInspector.ObjectPropertyTreeElement.prototype.update):
48343        * inspector/front-end/Section.js:
48344        (WebInspector.Section):
48345        * inspector/front-end/inspector.css:
48346
483472010-02-10  Philippe Normand  <pnormand@igalia.com>
48348
48349        Reviewed by Gustavo Noronha Silva.
48350
48351        [Gtk] wrong video aspect ratio
48352        https://bugs.webkit.org/show_bug.cgi?id=34790
48353
48354        Fixed natural size calculation regarding pixel aspect ratio and
48355        display aspect ratio.
48356
48357        Test: media/video-display-aspect-ratio.html
48358
48359        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
48360        (WebCore::greatestCommonDivisor):
48361        (WebCore::MediaPlayerPrivate::naturalSize):
48362
483632010-02-14  Adam Barth  <abarth@webkit.org>
48364
48365        Reviewed by Darin Adler.
48366
48367        HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
48368        https://bugs.webkit.org/show_bug.cgi?id=33277
48369
48370        submitForm wasn't respecting shouldAllowNavigation.  Instead of calling
48371        the wrapper function, we need to call shouldAllowNavigation because we
48372        need to handle the "frame not found" case differently than the
48373        "navigation denied" case.
48374
48375        Test: http/tests/security/sandboxed-iframe-form-top.html
48376
48377        * loader/FrameLoader.cpp:
48378        (WebCore::FrameLoader::submitForm):
48379
483802010-02-14  Kent Tamura  <tkent@chromium.org>
48381
48382        No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
48383
48384        * rendering/RenderRuby.cpp: Add a comment for #endf.
48385        * rendering/RenderRubyBase.cpp: Add a comment for #endf.
48386        * rendering/RenderRubyRun.cpp: Add a comment for #endf.
48387        * rendering/RenderRubyText.cpp: Add a comment for #endf.
48388
483892010-02-13  Pavel Feldman  <pfeldman@chromium.org>
48390
48391        Reviewed by Timothy Hatcher.
48392
48393        Web Inspector: cache created row, span and text elements
48394        in TextView to improve scroller performance on debug build.
48395
48396        https://bugs.webkit.org/show_bug.cgi?id=34921
48397
48398        * inspector/front-end/SourceFrame.js:
48399        (WebInspector.SourceFrame.prototype.set visible):
48400        * inspector/front-end/TextViewer.js:
48401        (WebInspector.TextViewer):
48402        (WebInspector.TextViewer.prototype.freeCachedElements):
48403        (WebInspector.TextViewer.prototype._buildChunks):
48404        (WebInspector.TextViewer.prototype._makeLineAChunk):
48405        (WebInspector.TextViewer.prototype._paintLine):
48406        (WebInspector.TextViewer.prototype._releaseLines):
48407        (WebInspector.TextViewer.prototype._appendSpan):
48408        (WebInspector.TextViewer.prototype._appendTextNode):
48409        (WebInspector.TextChunk):
48410        (WebInspector.TextChunk.prototype.set expanded):
48411        (WebInspector.TextChunk.prototype._lineNumberText):
48412        (WebInspector.TextChunk.prototype._createRow):
48413
484142010-02-13  Kent Tamura  <tkent@chromium.org>
48415
48416        Reviewed by Darin Adler.
48417
48418        Refactor parsing/serialization functions in HTMLInputElement.
48419        https://bugs.webkit.org/show_bug.cgi?id=34852
48420
48421        - Rename formStringToDouble() to parseToDoubleForNumberType()
48422        - Rename formStringToDateComponents() to parseToDateComponents()
48423        - Rename formStringFromDouble() to serializeForNumberType()
48424        - Add serializeForDateTimeTypes()
48425          The code is moved from setValueAsDate() and setDateValue().
48426        - Add serialize()
48427        
48428        parseToDouble() is the top-level function to parse a
48429        type-dependent string and return a double
48430        value. parseToDoubleForNumber() and parseToDateComponents()
48431        functions are helper functions for it. serialize() is the
48432        top-level function to serialize a double value to a type-dependent
48433        string, and serializeForNumberType() and
48434        serializeForDateTimeTypes() are helper functions for it.
48435
48436        No tests because of no functional changes.
48437
48438        * html/HTMLInputElement.cpp:
48439        (WebCore::HTMLInputElement::stepMismatch):
48440        (WebCore::HTMLInputElement::getAllowedValueStep):
48441        (WebCore::HTMLInputElement::parseToDouble):
48442        (WebCore::HTMLInputElement::valueAsDate):
48443        (WebCore::HTMLInputElement::setValueAsDate):
48444        (WebCore::HTMLInputElement::setValueAsNumber):
48445        (WebCore::HTMLInputElement::serializeForDateTimeTypes):
48446        (WebCore::HTMLInputElement::serialize):
48447        (WebCore::HTMLInputElement::serializeForNumberType):
48448        (WebCore::HTMLInputElement::parseToDoubleForNumberType):
48449        (WebCore::HTMLInputElement::parseToDateComponents):
48450        * html/HTMLInputElement.h:
48451        * html/ValidityState.cpp:
48452        (WebCore::ValidityState::typeMismatch):
48453        * rendering/RenderSlider.cpp:
48454        (WebCore::SliderRange::valueFromElement):
48455        (WebCore::RenderSlider::updateFromElement):
48456        (WebCore::RenderSlider::setValueForPosition):
48457
484582010-01-05  Ojan Vafai  <ojan@chromium.org>
48459
48460        Reviewed by Dan Bernstein.
48461
48462        Improve text control intrinsic widths.
48463        https://bugs.webkit.org/show_bug.cgi?id=25566
48464        https://bugs.webkit.org/show_bug.cgi?id=25581
48465        https://bugs.webkit.org/show_bug.cgi?id=25958
48466
48467        For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
48468        fallback to the Safari 4- behavior of using the width of a zero. For other
48469        fonts, make Mac match Windows (and thus IE) metrics.
48470
48471        Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
48472        Courier New for textareas in order to match Safari Win, Firefox and, in
48473        some cases IE (IE uses different default fonts depending on encoding).
48474
48475        The only case where we still don't match Windows is if no font-size is
48476        set. The default font-size for form controls on the Mac is smaller and
48477        thus text-control widths will be slightly smaller.
48478
48479        No new tests. Covered by existing tests.
48480
48481        * platform/graphics/mac/SimpleFontDataMac.mm:
48482        (WebCore::SimpleFontData::platformCharWidthInit):
48483        * rendering/RenderTextControl.cpp:
48484        (WebCore::):
48485        (WebCore::RenderTextControl::hasValidAvgCharWidth):
48486        (WebCore::RenderTextControl::getAvgCharWidth):
48487        (WebCore::RenderTextControl::calcPrefWidths):
48488        * rendering/RenderTextControl.h:
48489        (WebCore::RenderTextControl::scaleEmToUnits):
48490        * rendering/RenderTextControlMultiLine.cpp:
48491        (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
48492        * rendering/RenderTextControlMultiLine.h:
48493        * rendering/RenderTextControlSingleLine.cpp:
48494        (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
48495        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
48496        * rendering/RenderTextControlSingleLine.h:
48497
484982010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
48499
48500        Reviewed by Kenneth Rohde Christiansen.
48501
48502        [Qt] Unnecessary QBrush construction for doing a solid color stroke
48503        https://bugs.webkit.org/show_bug.cgi?id=34874
48504
48505        Use the similar trick like in r54347, i.e. use the special brush for
48506        solid color to avoid expensive QBrush constructor.
48507
48508        * platform/graphics/qt/GraphicsContextQt.cpp:
48509        (WebCore::GraphicsContext::setPlatformStrokeColor):
48510
485112010-02-11  Darin Fisher  <darin@chromium.org>
48512
48513        Reviewed by Jeremy Orlow.
48514
48515        Pass the Document along to the ChromiumBridge cookie methods.
48516
48517        https://bugs.webkit.org/show_bug.cgi?id=34878
48518
48519        * platform/chromium/ChromiumBridge.h:
48520        * platform/network/chromium/CookieJarChromium.cpp:
48521        (WebCore::setCookies):
48522        (WebCore::cookies):
48523        (WebCore::cookiesEnabled):
48524        (WebCore::getRawCookies):
48525        (WebCore::deleteCookie):
48526
485272010-02-12  Eric Seidel  <eric@webkit.org>
48528
48529        No review, rolling out r54694.
48530        http://trac.webkit.org/changeset/54694
48531        https://bugs.webkit.org/show_bug.cgi?id=34633
48532
48533        This appears to have caused crashes on the Leopard bot.  See
48534        bug 34898.
48535
48536        * websockets/ThreadableWebSocketChannelClientWrapper.h:
48537        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
48538        * websockets/WebSocket.cpp:
48539        (WebCore::WebSocket::WebSocket):
48540        (WebCore::WebSocket::send):
48541        (WebCore::WebSocket::close):
48542        (WebCore::WebSocket::bufferedAmount):
48543        (WebCore::WebSocket::didConnect):
48544        (WebCore::WebSocket::didClose):
48545        * websockets/WebSocket.h:
48546        * websockets/WebSocketChannel.cpp:
48547        (WebCore::WebSocketChannel::WebSocketChannel):
48548        (WebCore::WebSocketChannel::send):
48549        (WebCore::WebSocketChannel::bufferedAmount):
48550        (WebCore::WebSocketChannel::didClose):
48551        * websockets/WebSocketChannel.h:
48552        * websockets/WebSocketChannelClient.h:
48553        (WebCore::WebSocketChannelClient::didClose):
48554        * websockets/WorkerThreadableWebSocketChannel.cpp:
48555        (WebCore::workerContextDidClose):
48556        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
48557        * websockets/WorkerThreadableWebSocketChannel.h:
48558
485592010-02-12  Gavin Barraclough  <barraclough@apple.com>
48560
48561        Reviewed by Sam Weinig.
48562
48563        Workers' EventListeners should be removed before JSGlobalData is destroyed
48564        https://bugs.webkit.org/show_bug.cgi?id=34903
48565
48566        (Patch co-developed with Alexey Proskuryakov).
48567
48568        Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
48569        worker thread are not removed until after the thread's JSGlobalData has been
48570        destroyed.  This is slightly worrisome since the JSEventListener contains
48571        JSObject*s, which will be dangling once the heap is destroyed.  The
48572        JSEventListeners may also reference the worker thread's normal world, which
48573        again it makes no sense to keep around after the JSGlobalData is freed.
48574
48575        Remove all event listeners immediately prior to tearing down the JSGlobalData.
48576
48577        https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
48578        problem, and it is probably cleaner to make the client data's normal world no
48579        longer be a member (since it is a ref-counted object), however they should be
48580        no requirement to 'detatch' - it makes no sense for anyone to be referencing
48581        the world after the JSGlobalData has gone away (the world's purpose is to hold
48582        wrapper objects in the JSGlobalData's heap).  Keep the restructuring that makes
48583        the normal world no longer be a member, but remove the detach mechanism this
48584        patch added & replace with stronger ASSERTs.
48585
48586        * bindings/js/JSDOMBinding.cpp:
48587        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
48588        * bindings/js/JSDOMBinding.h:
48589        (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
48590        * workers/WorkerThread.cpp:
48591        (WebCore::WorkerThreadShutdownStartTask::performTask):
48592
485932010-02-12  Gavin Barraclough  <barraclough@apple.com>
48594
48595        Reviewed by Sam Weinig.
48596
48597        https://bugs.webkit.org/show_bug.cgi?id=33731
48598        Remove uses of PtrAndFlags from WebCore::StringImpl.
48599
48600        These break the OS X Leaks tool.  Use a bits stolen from the refCount to hold the
48601        'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
48602        (fixes a leak where the string data is allocated at the address (this + 1), and is
48603        misinterpreted as being an internal buffer).
48604
48605        * WebCore.base.exp:
48606        * platform/text/StringImpl.cpp:
48607        (WebCore::StringImpl::StringImpl):
48608        (WebCore::StringImpl::~StringImpl):
48609        (WebCore::StringImpl::create):
48610        (WebCore::StringImpl::createWithTerminatingNullCharacter):
48611        (WebCore::StringImpl::crossThreadString):
48612        (WebCore::StringImpl::sharedBuffer):
48613        * platform/text/StringImpl.h:
48614        (WebCore::StringImpl::):
48615        (WebCore::StringImpl::hasTerminatingNullCharacter):
48616        (WebCore::StringImpl::inTable):
48617        (WebCore::StringImpl::setInTable):
48618        (WebCore::StringImpl::ref):
48619        (WebCore::StringImpl::deref):
48620        (WebCore::StringImpl::hasOneRef):
48621        (WebCore::StringImpl::operator new):
48622        (WebCore::StringImpl::bufferOwnership):
48623        * storage/OriginUsageRecord.cpp:
48624        (WebCore::OriginUsageRecord::addDatabase):
48625        (WebCore::OriginUsageRecord::markDatabase):
48626
486272010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>
48628
48629        Reviewed by Dirk Schulze.
48630
48631        Repaint bug on Text selection in foreignObject
48632        https://bugs.webkit.org/show_bug.cgi?id=16939
48633
48634        Tests: svg/overflow/overflow-on-foreignObject.svg
48635               svg/text/foreignObject-text-clipping-bug.xml
48636
48637        Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
48638        RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
48639        which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
48640        did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
48641        positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.
48642
48643        Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
48644        comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
48645        overflow handling to avoid RenderLayer.
48646
48647        SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
48648        the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
48649        RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.
48650
48651        * rendering/RenderForeignObject.cpp:
48652        (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
48653        (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
48654        (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
48655        (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
48656        (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
48657        (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
48658        (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
48659        (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
48660        (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
48661        * rendering/RenderForeignObject.h:
48662        (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
48663        (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
48664        (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
48665        * rendering/RenderSVGBlock.cpp:
48666        (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
48667        (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
48668        * rendering/RenderSVGBlock.h:
48669        * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
48670        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
48671
486722010-02-12  Dan Bernstein  <mitz@apple.com>
48673
48674        Reviewed by Simon Fraser.
48675
48676        <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
48677        https://bugs.webkit.org/show_bug.cgi?id=34865
48678
48679        Test: fast/text/glyph-reordering.html
48680
48681        * platform/graphics/mac/ComplexTextController.cpp:
48682        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
48683        (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic
48684        and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range.
48685        (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get
48686        glyphs’ end offsets.
48687        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call
48688        setIsNonMonotonic() if needed.
48689        * platform/graphics/mac/ComplexTextController.h:
48690        (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter.
48691        (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto.
48692        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
48693        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
48694        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
48695        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
48696
486972010-02-12  Alexey Proskuryakov  <ap@apple.com>
48698
48699        Reviewed by David Levin.
48700
48701        https://bugs.webkit.org/show_bug.cgi?id=34866
48702        Leopard Debug Bot crashed on fast/forms/old-names.html
48703
48704        * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed
48705        a misplaced checkConsistency() call. We are not looking at cache content at this point, and
48706        caches will be reset on next access.
48707
487082010-02-12  Pavel Feldman  <pfeldman@chromium.org>
48709
48710        Reviewed by Timothy Hatcher.
48711
48712        Web Inspector: restore highlighting animation, bring back
48713        keyboard navigation, beautify search results.
48714
48715        https://bugs.webkit.org/show_bug.cgi?id=34853
48716
48717        * inspector/front-end/TextViewer.js:
48718        (WebInspector.TextViewer):
48719        (WebInspector.TextViewer.prototype.highlightLine):
48720        * inspector/front-end/textViewer.css:
48721
487222010-02-12  Anton Muhin  <antonm@chromium.org>
48723
48724        Reviewed by Adam Barth.
48725
48726        [v8] handle to the document can only own Objects, not Values
48727        https://bugs.webkit.org/show_bug.cgi?id=34854
48728
48729        * bindings/v8/V8DOMWindowShell.cpp:
48730        (WebCore::V8DOMWindowShell::updateDocumentWrapper):
48731        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
48732        * bindings/v8/V8DOMWindowShell.h:
48733        * bindings/v8/custom/V8DocumentCustom.cpp:
48734        (WebCore::toV8):
48735
487362010-02-12  Simon Hausmann  <simon.hausmann@nokia.com>
48737
48738        Reviewed by Holger Freyther.
48739
48740        Replaced stray CRLF with LF.
48741
48742        * wml/WMLInputElement.cpp:
48743        (WebCore::WMLInputElement::suggestedValue):
48744        * wml/WMLInputElement.h:
48745
487462010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48747
48748        Reviewed by Tor Arne Vestbø.
48749
48750        [Qt] Make qtlauncher and qgvlauncher use the generated headers
48751        path to make sure they are correctly generated.
48752
48753        * WebCore.pro:
48754
487552010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48756
48757        Reviewed by Tor Arne Vestbø.
48758
48759        [Qt] Ensure relative paths in generated .pri files to ensure that
48760        a source package with pre-generated derived sources can be compiled.
48761
48762        - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
48763        - Rename the generated headers.pri to classheaders.pri to avoid
48764        confusion with the one generated by synqt since they don't have the
48765        same content.
48766        - Remove private headers list variable from classheaders.pri
48767        - Use $$PWD in classheaders.pri
48768        - Remove classheaders.pri from the installed files
48769
48770        * WebCore.pro:
48771
487722010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48773
48774        Reviewed by Tor Arne Vestbø.
48775
48776        [Qt] Manually add support for the install target on Symbian.
48777
48778        This is required to copy the headers over the ones in Qt.
48779
48780        * WebCore.pro:
48781
487822010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48783
48784        Reviewed by Tor Arne Vestbø.
48785
48786        [Qt] Minor fixes on QtWebKit headers generation.
48787
48788        - Adds QtWebKit to the generated headers destination path
48789        - Improve compatibility with MinGW
48790
48791        * WebCore.pro:
48792
487932010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48794
48795        Reviewed by Alexey Proskuryakov.
48796
48797        WebSocket ignores HttpOnly cookies, but should use in Handshake.
48798        https://bugs.webkit.org/show_bug.cgi?id=34289
48799
48800        Test: websocket/tests/cookies/httponly-cookie.pl
48801
48802        * platform/CookieJar.h: add cookieRequestHeaderFieldValue()
48803        * platform/chromium/ChromiumBridge.h:
48804        * platform/haiku/CookieJarHaiku.cpp:
48805        (WebCore::cookieRequestHeaderFieldValue):
48806        * platform/mac/CookieJar.mm:
48807        (WebCore::cookies):
48808        (WebCore::cookieRequestHeaderFieldValue):
48809        * platform/network/android/CookieJarAndroid.cpp:
48810        (WebCore::cookieRequestHeaderFieldValue):
48811        * platform/network/chromium/CookieJarChromium.cpp:
48812        (WebCore::cookieRequestHeaderFieldValue):
48813        * platform/network/curl/CookieJarCurl.cpp:
48814        (WebCore::cookieRequestHeaderFieldValue):
48815        * platform/network/soup/CookieJarSoup.cpp:
48816        (WebCore::cookieRequestHeaderFieldValue):
48817        * platform/network/win/CookieJarCFNetWin.cpp:
48818        (WebCore::cookieRequestHeaderFieldValue):
48819        * platform/network/win/CookieJarWin.cpp:
48820        (WebCore::cookieRequestHeaderFieldValue):
48821        * platform/qt/CookieJarQt.cpp:
48822        (WebCore::cookieRequestHeaderFieldValue):
48823        * websockets/WebSocketHandshake.cpp:
48824        (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies.
48825
488262010-02-16  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
48827
48828        Reviewed by Gustavo Noronha Silva.
48829
48830        Notify about size changes in the WebKit GStreamer source.
48831        
48832        https://bugs.webkit.org/show_bug.cgi?id=34881
48833
48834        * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
48835        (webkit_web_src_init):
48836        (StreamingClient::didReceiveResponse):
48837        * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
48838        This makes sure that other GStreamer elements know about the
48839        size and on-disk buffering actually works.
48840        Only notify about size changes if gst-plugins-base before
48841        0.10.27 is used, because from that version onwards this is
48842        automatically handled.
48843        
48844        If appsrc 0.10.27 or later is used, set the min-percent property
48845        to 20% to allow more time to pass between the need-data signal
48846        and starvation of the pipeline.
48847        
48848        Also reset the size when stopping the source and send EOS
48849        on seeking failures. 
48850
488512010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
48852
48853        Reviewed by Kenneth Rohde Christiansen.
48854
48855        [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
48856
48857        https://bugs.webkit.org/show_bug.cgi?id=32375
48858
48859        * platform/graphics/qt/GraphicsContextQt.cpp:
48860        (WebCore::GraphicsContext::clipOut):
48861        (WebCore::GraphicsContext::clipOutEllipseInRect):
48862
488632010-02-11  Yuzo Fujishima  <yuzo@google.com>
48864
48865        Reviewed by Shinichiro Hamaji.
48866
48867        Rename underscored identifiers in WebCore/css/CSSParser.cpp.
48868        https://bugs.webkit.org/show_bug.cgi?id=34877
48869        Also fix whitespace erros that surface due to the above fix.
48870
48871        This doesn't change the code logic. Hence no new tests are required.
48872
48873        * css/CSSParser.cpp:
48874        (WebCore::CSSParser::parseValue):
48875
488762010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
48877
48878        Reviewed by Timothy Hatcher.
48879
48880        Web Inspector: Focusing a resource in the inspector should default to content not header
48881        https://bugs.webkit.org/show_bug.cgi?id=34861
48882
48883        * inspector/front-end/Settings.js:
48884        (WebInspector.Settings.prototype._load): changed initial default to content tab
48885
488862010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
48887
48888        Reviewed by Timothy Hatcher.
48889
48890        Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
48891        https://bugs.webkit.org/show_bug.cgi?id=34872
48892
48893        * inspector/front-end/StylesSidebarPane.js:
48894        (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
48895        (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
48896
488972010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
48898
48899        Reviewed by Eric Seidel.
48900
48901        Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
48902
48903        * platform/graphics/FloatSize.h:
48904        (WebCore::roundedIntSize):
48905
489062010-02-11  Kent Tamura  <tkent@chromium.org>
48907
48908        Reviewed by Darin Adler.
48909
48910        Fix two issues on maxLength.
48911        https://bugs.webkit.org/show_bug.cgi?id=34783
48912
48913        - ValidityState.tooLong behavior was inconsistent with UIs of
48914        <input> and <textarea>. tooLong checked Unicode code point length
48915        though the UIs checks grapheme cluster length.
48916
48917        - Setting HTMLTextAreaElement::value didn't update the dirty flag.
48918
48919        * html/HTMLInputElement.cpp:
48920        (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length().
48921        * html/HTMLTextAreaElement.cpp:
48922          Rename setValue() to setNonDirtyValue(), and introduce setValue()
48923          which calls setNonDirtyValue() and sets the dirty flag.
48924        (WebCore::HTMLTextAreaElement::childrenChanged):
48925        (WebCore::HTMLTextAreaElement::reset):
48926        (WebCore::HTMLTextAreaElement::setValue):
48927        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
48928        (WebCore::HTMLTextAreaElement::setDefaultValue):
48929        (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length().
48930        * html/HTMLTextAreaElement.h:
48931
489322010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48933
48934        Reviewed by Alexey Proskuryakov.
48935
48936        WebSocket bufferedAmount should not be 0 when send after close.
48937        https://bugs.webkit.org/show_bug.cgi?id=34633
48938
48939        Test: websocket/tests/bufferedAmount-after-close.html
48940
48941        * websockets/ThreadableWebSocketChannelClientWrapper.h:
48942        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
48943        * websockets/WebSocket.cpp:
48944        (WebCore::WebSocket::WebSocket):
48945        (WebCore::WebSocket::send):
48946        (WebCore::WebSocket::close):
48947        (WebCore::WebSocket::bufferedAmount):
48948        (WebCore::WebSocket::didConnect):
48949        (WebCore::WebSocket::didClose):
48950        * websockets/WebSocket.h:
48951        * websockets/WebSocketChannel.cpp:
48952        (WebCore::WebSocketChannel::WebSocketChannel):
48953        (WebCore::WebSocketChannel::send):
48954        (WebCore::WebSocketChannel::bufferedAmount):
48955        (WebCore::WebSocketChannel::didClose):
48956        * websockets/WebSocketChannel.h:
48957        * websockets/WebSocketChannelClient.h:
48958        (WebCore::WebSocketChannelClient::didClose):
48959        * websockets/WorkerThreadableWebSocketChannel.cpp:
48960        (WebCore::workerContextDidClose):
48961        (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
48962        * websockets/WorkerThreadableWebSocketChannel.h:
48963
489642010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
48965
48966        Reviewed by Alexey Proskuryakov.
48967
48968        WebSocket in Worker failed to close
48969        https://bugs.webkit.org/show_bug.cgi?id=34785
48970
48971        Tests: websocket/tests/workers/close-in-shared-worker.html
48972               websocket/tests/workers/close-in-worker.html
48973
48974        * websockets/WorkerThreadableWebSocketChannel.cpp:
48975        (WebCore::WorkerThreadableWebSocketChannel::close):
48976
489772010-02-11  Kwang Yul Seo  <skyul@company100.net>
48978
48979        Reviewed by Eric Seidel.
48980
48981        [BREWMP] Add dummy Cursor
48982        https://bugs.webkit.org/show_bug.cgi?id=34672
48983
48984        * platform/brew/CursorBrew.cpp: Added.
48985        (WebCore::Cursor::Cursor):
48986        (WebCore::Cursor::~Cursor):
48987        (WebCore::Cursor::operator=):
48988        (WebCore::dummyCursor):
48989        (WebCore::pointerCursor):
48990        (WebCore::crossCursor):
48991        (WebCore::handCursor):
48992        (WebCore::moveCursor):
48993        (WebCore::iBeamCursor):
48994        (WebCore::waitCursor):
48995        (WebCore::helpCursor):
48996        (WebCore::eastResizeCursor):
48997        (WebCore::northResizeCursor):
48998        (WebCore::northEastResizeCursor):
48999        (WebCore::northWestResizeCursor):
49000        (WebCore::southResizeCursor):
49001        (WebCore::southEastResizeCursor):
49002        (WebCore::southWestResizeCursor):
49003        (WebCore::westResizeCursor):
49004        (WebCore::northSouthResizeCursor):
49005        (WebCore::eastWestResizeCursor):
49006        (WebCore::northEastSouthWestResizeCursor):
49007        (WebCore::northWestSouthEastResizeCursor):
49008        (WebCore::columnResizeCursor):
49009        (WebCore::rowResizeCursor):
49010        (WebCore::verticalTextCursor):
49011        (WebCore::cellCursor):
49012        (WebCore::contextMenuCursor):
49013        (WebCore::noDropCursor):
49014        (WebCore::copyCursor):
49015        (WebCore::progressCursor):
49016        (WebCore::aliasCursor):
49017        (WebCore::noneCursor):
49018        (WebCore::notAllowedCursor):
49019        (WebCore::zoomInCursor):
49020        (WebCore::zoomOutCursor):
49021        (WebCore::middlePanningCursor):
49022        (WebCore::eastPanningCursor):
49023        (WebCore::northPanningCursor):
49024        (WebCore::northEastPanningCursor):
49025        (WebCore::northWestPanningCursor):
49026        (WebCore::southPanningCursor):
49027        (WebCore::southEastPanningCursor):
49028        (WebCore::southWestPanningCursor):
49029        (WebCore::westPanningCursor):
49030        (WebCore::grabCursor):
49031        (WebCore::grabbingCursor):
49032
490332010-02-11  Nate Chapin  <japhet@chromium.org>
49034
49035        Reviewed by Dimitri Glazkov.
49036
49037        [V8] Add back in a fast path for v8 object wrapping
49038        when it's not possible we're in a WorkerContext (the fast
49039        path is important for performance).
49040
49041        https://bugs.webkit.org/show_bug.cgi?id=34805
49042
49043        * bindings/scripts/CodeGeneratorV8.pm:
49044        * bindings/v8/V8DOMWrapper.cpp:
49045        (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
49046        (WebCore::V8DOMWrapper::instantiateV8Object):
49047        * bindings/v8/V8DOMWrapper.h:
49048
490492010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
49050
49051        Reviewed by Dirk Schulze.
49052
49053        Small cleanups in SVG render tree code.
49054        Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint,
49055        instead of spreading them around the subclasses. All classes should inherit
49056        protected from SVGRenderBase, made it consistent.
49057        
49058        Doesn't affect layout tests.
49059
49060        * rendering/RenderSVGImage.cpp:
49061        (WebCore::RenderSVGImage::computeRectForRepaint):
49062        * rendering/RenderSVGImage.h:
49063        * rendering/RenderSVGModelObject.cpp:
49064        (WebCore::RenderSVGModelObject::computeRectForRepaint):
49065        * rendering/RenderSVGRoot.h:
49066        * rendering/RenderSVGText.cpp:
49067        (WebCore::RenderSVGText::computeRectForRepaint):
49068        (WebCore::RenderSVGText::layout):
49069        * rendering/SVGRenderSupport.cpp:
49070        (WebCore::SVGRenderBase::computeRectForRepaint):
49071        * rendering/SVGRootInlineBox.h:
49072
490732010-02-11  David Hyatt  <hyatt@apple.com>
49074
49075        Reviewed by Dan Bernstein.
49076
49077        https://bugs.webkit.org/show_bug.cgi?id=34857
49078        Move InlineIterator and BidiRun into new files so subclasses can access them.
49079
49080        * GNUmakefile.am:
49081        * WebCore.gypi:
49082        * WebCore.pro:
49083        * WebCore.vcproj/WebCore.vcproj:
49084        * WebCore.xcodeproj/project.pbxproj:
49085        * rendering/BidiRun.cpp: Added.
49086        (WebCore::BidiRun::destroy):
49087        (WebCore::throw):
49088        (WebCore::BidiRun::operator delete):
49089        * rendering/BidiRun.h: Added.
49090        (WebCore::BidiRun::BidiRun):
49091        (WebCore::BidiRun::next):
49092        * rendering/InlineIterator.h: Added.
49093        (WebCore::InlineIterator::InlineIterator):
49094        (WebCore::operator==):
49095        (WebCore::operator!=):
49096        (WebCore::bidiNext):
49097        (WebCore::bidiFirst):
49098        (WebCore::InlineIterator::increment):
49099        (WebCore::InlineIterator::atEnd):
49100        (WebCore::InlineIterator::current):
49101        (WebCore::InlineIterator::direction):
49102        (WebCore::InlineBidiResolver::increment):
49103        (WebCore::InlineBidiResolver::appendRun):
49104        * rendering/RenderBlock.h:
49105        * rendering/RenderBlockLineLayout.cpp:
49106        (WebCore::RenderBlock::appendRunsForObject):
49107        (WebCore::RenderBlock::requiresLineBox):
49108
491092010-02-11  Steve Block  <steveblock@google.com>
49110
49111        Reviewed by Dimitri Glazkov.
49112
49113        Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter()
49114        https://bugs.webkit.org/show_bug.cgi?id=34836
49115
49116        setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(),
49117        which in turn uses toV8() with the indexer type, which is declared in
49118        the header for the indexer type.
49119
49120        No new tests, build fix only.
49121
49122        * bindings/scripts/CodeGeneratorV8.pm:
49123
491242010-02-11  Pavel Feldman  <pfeldman@chromium.org>
49125
49126        Reviewed by Timothy Hatcher.
49127
49128        Web Inspector: split source code into chunks in order to improve text
49129        viewer performance on large files.
49130
49131        https://bugs.webkit.org/show_bug.cgi?id=34816
49132
49133        This change brings back SourceFrame's canvas+style magic, restores line
49134        wrapping and makes things a lot like they used to be.
49135        It removes TextEditor for now and renames NativeTextViewer into TextViewer.
49136        TextViewer is no longer derived from TextEditor.
49137        This TextViewer is still based on TextEditorModel, no iframes are involved.
49138
49139        Instead of creating div per line, TextViewer splits source code into 50 line
49140        chunks. Upon scroll event, visible chunks are sharded into lines and individual
49141        lines are highlighted. Whenever highlighted region gets outside of the visible
49142        area, highlight spans are thrown away and region is replaced with the original
49143        plain text chunk.
49144
49145        Complex stuff:
49146        - Whenever there is a need to manipulate individual lines (add message bubble /
49147        set breakpoint / reveal / etc.), individual chunks for such lines are created.
49148        - There is also an implicit machinery that is maintaining selection when it
49149        goes beyond the visible area.
49150        - Search occurrences are implemented as artificial spans interweaving
49151        highlighting markup.
49152
49153        * WebCore.gypi:
49154        * WebCore.vcproj/WebCore.vcproj:
49155        * inspector/front-end/NativeTextViewer.js: Removed.
49156        * inspector/front-end/ScriptView.js:
49157        (WebInspector.ScriptView):
49158        * inspector/front-end/Settings.js:
49159        * inspector/front-end/SourceFrame.js:
49160        (WebInspector.SourceFrame):
49161        (WebInspector.SourceFrame.prototype.set visible):
49162        (WebInspector.SourceFrame.prototype.set executionLine):
49163        (WebInspector.SourceFrame.prototype.revealLine):
49164        (WebInspector.SourceFrame.prototype.addBreakpoint):
49165        (WebInspector.SourceFrame.prototype.removeBreakpoint):
49166        (WebInspector.SourceFrame.prototype.addMessage):
49167        (WebInspector.SourceFrame.prototype.clearMessages):
49168        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
49169        (WebInspector.SourceFrame.prototype.setContent):
49170        (WebInspector.SourceFrame.prototype.highlightLine):
49171        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
49172        (WebInspector.SourceFrame.prototype.markAndRevealRange):
49173        (WebInspector.SourceFrame.prototype.clearMarkedRange):
49174        (WebInspector.SourceFrame.prototype._breakpointChanged):
49175        (WebInspector.SourceFrame.prototype._updateExecutionLine):
49176        (WebInspector.SourceFrame.prototype._addMessageToSource):
49177        (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
49178        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
49179        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
49180        (WebInspector.SourceFrame.prototype._mouseDown):
49181        (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
49182        (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
49183        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
49184        (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
49185        (WebInspector.SourceFrame.prototype._createConditionElement):
49186        (WebInspector.SourceFrame.prototype._keyDown):
49187        (WebInspector.SourceFrame.prototype.resize):
49188        (WebInspector.SourceFrame.prototype._drawProgramCounterInContext):
49189        (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded):
49190        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
49191        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
49192        * inspector/front-end/SourceView.js:
49193        (WebInspector.SourceView):
49194        (WebInspector.SourceView.prototype._removeBreakpoint):
49195        (WebInspector.SourceView.prototype.searchCanceled):
49196        (WebInspector.SourceView.prototype._jumpToSearchResult):
49197        * inspector/front-end/TextEditor.js: Removed.
49198        * inspector/front-end/TextViewer.js: Added.
49199        (WebInspector.TextViewer):
49200        (WebInspector.TextViewer.prototype.set mimeType):
49201        (WebInspector.TextViewer.prototype.get textModel):
49202        (WebInspector.TextViewer.prototype.revealLine):
49203        (WebInspector.TextViewer.prototype.addDecoration):
49204        (WebInspector.TextViewer.prototype.removeDecoration):
49205        (WebInspector.TextViewer.prototype.markAndRevealRange):
49206        (WebInspector.TextViewer.prototype.highlightLine):
49207        (WebInspector.TextViewer.prototype._textChanged):
49208        (WebInspector.TextViewer.prototype._createChunkRow):
49209        (WebInspector.TextViewer.prototype._makeLineAChunk):
49210        (WebInspector.TextViewer.prototype._indexChunks):
49211        (WebInspector.TextViewer.prototype._highlightChanged):
49212        (WebInspector.TextViewer.prototype._scroll):
49213        (WebInspector.TextViewer.prototype.setCoalescingUpdate):
49214        (WebInspector.TextViewer.prototype._repaintAll):
49215        (WebInspector.TextViewer.prototype._chunkForOffset):
49216        (WebInspector.TextViewer.prototype._chunkNumberForLine):
49217        (WebInspector.TextViewer.prototype._chunkStartLine):
49218        (WebInspector.TextViewer.prototype._restoreChunks):
49219        (WebInspector.TextViewer.prototype._repaint):
49220        (WebInspector.TextViewer.prototype._getSelection):
49221        (WebInspector.TextViewer.prototype._restoreSelection):
49222        (WebInspector.TextViewer.prototype._selectionToPosition):
49223        (WebInspector.TextViewer.prototype._createLineRow):
49224        (WebInspector.TextViewer.prototype._paintLine):
49225        (WebInspector.TextViewer.prototype._createSpan):
49226        (WebInspector.TextViewer.prototype._createLink):
49227        (WebInspector.TextViewer.prototype._rewriteHref):
49228        (WebInspector.TextViewer.prototype._markRange):
49229        (WebInspector.TextViewer.prototype._decimalDigits):
49230        (WebInspector.TextViewer.prototype.resize):
49231        * inspector/front-end/WebKit.qrc:
49232        * inspector/front-end/inspector.css:
49233        * inspector/front-end/inspector.html:
49234        * inspector/front-end/textEditor.css: Removed.
49235        * inspector/front-end/textViewer.css: Added.
49236        * inspector/front-end/utilities.js:
49237        (Node.prototype.traverseNextTextNode):
49238        (Node.prototype.rangeBoundaryForOffset):
49239
492402010-02-11  Csaba Osztrogonác  <ossy@webkit.org>
49241
49242        Reviewed by Tor Arne Vestbø.
49243
49244        [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port.
49245        https://bugs.webkit.org/show_bug.cgi?id=34698
49246
49247        * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
49248
492492010-02-11  Steve Block  <steveblock@google.com>
49250
49251        Reviewed by Jeremy Orlow.
49252
49253        Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp
49254        https://bugs.webkit.org/show_bug.cgi?id=34815
49255
49256        No new tests, build fix only.
49257
49258        * Android.derived.v8bindings.mk:
49259
492602010-02-11  Steve Block  <steveblock@google.com>
49261
49262        Reviewed by Jeremy Orlow.
49263
49264        Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
49265        https://bugs.webkit.org/show_bug.cgi?id=34814
49266
49267        No new tests, build fix only.
49268
49269        * Android.derived.v8bindings.mk:
49270
492712010-02-11  Steve Block  <steveblock@google.com>
49272
49273        Reviewed by Nate Chapin.
49274
49275        Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
49276        https://bugs.webkit.org/show_bug.cgi?id=34806
49277
49278        No new tests, build fix only.
49279
49280        * Android.derived.v8bindings.mk:
49281
492822010-02-11  Steve Block  <steveblock@google.com>
49283
49284        Reviewed by David Levin.
49285
49286        Guards SVG code in V8 bindings with ENABLE(SVG)
49287        https://bugs.webkit.org/show_bug.cgi?id=34812
49288
49289        Also updates Android V8 Makefile to generate required SVG headers.
49290
49291        No new tests, build fix only.
49292
49293        * Android.derived.v8bindings.mk:
49294        * bindings/v8/custom/V8CSSValueCustom.cpp:
49295        (WebCore::toV8):
49296        * bindings/v8/custom/V8DocumentCustom.cpp:
49297        (WebCore::toV8):
49298        * bindings/v8/custom/V8ElementCustom.cpp:
49299        (WebCore::toV8):
49300
493012010-02-08  Maciej Stachowiak  <mjs@apple.com>
49302
49303        Reviewed by Cameron Zwarich.
49304
49305        Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
49306        https://bugs.webkit.org/show_bug.cgi?id=34698
49307
49308        * Configurations/FeatureDefines.xcconfig:
49309        * DerivedSources.make:
49310        * GNUmakefile.am:
49311        * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
49312        * rendering/RenderObject.cpp:
49313        (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
49314        * rendering/RenderObject.h: ditto above
49315        * rendering/RenderRuby.cpp: ifdef this whole file
49316        * rendering/RenderRuby.h: ditto
49317        * rendering/RenderRubyBase.cpp: ditto
49318        * rendering/RenderRubyBase.h: ditto
49319        * rendering/RenderRubyRun.cpp: ditto
49320        * rendering/RenderRubyRun.h: ditto
49321        * rendering/RenderRubyText.cpp: ditto
49322        * rendering/RenderRubyText.h: ditto
49323
493242010-02-11  Kent Tamura  <tkent@chromium.org>
49325
49326        Reviewed by Darin Adler.
49327
49328        Step attribute support for date&time types.
49329        https://bugs.webkit.org/show_bug.cgi?id=30847
49330
49331        - Add implementation for ValidityState.stepMismatch, stepUp() and
49332          stepDown() for date, datetime, datetime-local, month, time, week types.
49333        - Fix string representation of DateComponents.
49334
49335        Tests: fast/forms/ValidityState-stepMismatch.html
49336               fast/forms/input-stepup-stepdown.html
49337
49338        * html/HTMLInputElement.cpp:
49339          - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
49340        (WebCore::HTMLInputElement::stepBase):
49341        (WebCore::HTMLInputElement::stepMismatch):
49342        (WebCore::HTMLInputElement::getStepParameters):
49343        (WebCore::HTMLInputElement::getAllowedValueStep):
49344        (WebCore::HTMLInputElement::applyStep):
49345          Renamed from applyStepForNumberOrRange(), and add support for other types.
49346        (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
49347        (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
49348        (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
49349        (WebCore::HTMLInputElement::setDateValue):
49350          A helper function to make the best representation of DateComponents.
49351        (WebCore::HTMLInputElement::setValueAsNumber):  Use setDateValue().
49352        * html/HTMLInputElement.h:
49353
493542010-02-10  Oliver Hunt  <oliver@apple.com>
49355
49356        Reviewed by Gavin Barraclough.
49357
49358        postMessage does not send ImageData
49359        https://bugs.webkit.org/show_bug.cgi?id=34825
49360
49361        Implement serialisation of ImageData, and for testing reasons
49362        expose the ImageData constructor (which should already have
49363        been exposed).
49364
49365        * bindings/js/SerializedScriptValue.cpp:
49366        (WebCore::SerializedImageData::create):
49367        (WebCore::SerializedImageData::width):
49368        (WebCore::SerializedImageData::height):
49369        (WebCore::SerializedImageData::data):
49370        (WebCore::SerializedImageData::SerializedImageData):
49371        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49372        (WebCore::SharedSerializedData::asImageData):
49373        (WebCore::SerializingTreeWalker::convertIfTerminal):
49374        (WebCore::DeserializingTreeWalker::convertIfTerminal):
49375        (WebCore::TeardownTreeWalker::convertIfTerminal):
49376        * bindings/js/SerializedScriptValue.h:
49377        (WebCore::SerializedScriptValueData::):
49378        (WebCore::SerializedScriptValueData::asImageData):
49379        * html/canvas/CanvasPixelArray.h:
49380        (WebCore::CanvasPixelArray::data):
49381        * page/DOMWindow.idl:
49382
493832010-02-10  Adam Barth  <abarth@webkit.org>
49384
49385        Reviewed by Darin Adler.
49386
49387        Address last round of review comments on r53607
49388        https://bugs.webkit.org/show_bug.cgi?id=33940
49389
49390        Mostly renaming and cleaning up.
49391
49392        * css/CSSImportRule.cpp:
49393        (WebCore::CSSImportRule::insertedIntoParent):
49394        * css/CSSStyleSheet.h:
49395        (WebCore::CSSStyleSheet::create):
49396        (WebCore::CSSStyleSheet::createInline):
49397        * css/StyleBase.cpp:
49398        (WebCore::StyleBase::baseURL):
49399        * css/StyleSheet.cpp:
49400        (WebCore::StyleSheet::StyleSheet):
49401        * css/StyleSheet.h:
49402        (WebCore::StyleSheet::href):
49403        (WebCore::StyleSheet::setFinalURL):
49404        (WebCore::StyleSheet::finalURL):
49405        * dom/Document.cpp:
49406        (WebCore::Document::updateBaseURL):
49407        * dom/ProcessingInstruction.cpp:
49408        (WebCore::ProcessingInstruction::checkStyleSheet):
49409        * xml/XSLImportRule.cpp:
49410        (WebCore::XSLImportRule::loadSheet):
49411        * xml/XSLStyleSheet.h:
49412        (WebCore::XSLStyleSheet::create):
49413        (WebCore::XSLStyleSheet::createInline):
49414        * xml/XSLStyleSheetLibxslt.cpp:
49415        (WebCore::XSLStyleSheet::XSLStyleSheet):
49416        (WebCore::XSLStyleSheet::parseString):
49417        (WebCore::XSLStyleSheet::loadChildSheets):
49418        * xml/XSLStyleSheetQt.cpp:
49419        (WebCore::XSLStyleSheet::XSLStyleSheet):
49420
494212010-02-10  Noam Rosenthal  <noam.rosenthal@nokia.com>
49422
49423        Reviewed by Ariya Hidayat.
49424
49425        [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
49426        This is because we try to delete the animation when finished: that is
49427        unnecessary. WebCore manages the animation's lifecycle and makes sure
49428        to call the right function when the animation can be deleted.
49429
49430        https://bugs.webkit.org/show_bug.cgi?id=34761
49431
49432        No new tests.
49433
49434        * platform/graphics/qt/GraphicsLayerQt.cpp:
49435        (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
49436        (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
49437
494382010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
49439
49440        [wx] Build fix for wxMac/Cocoa.
49441
49442        * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
49443        * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
49444        * wscript:
49445
494462010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
49447
49448        REGRESSION(24929): PDF page doesn't load in background tab
49449
49450        Reviewed by Dan Bernstein.
49451
49452        * plugins/PluginView.cpp:
49453        (WebCore::PluginView::startOrAddToUnstartedList):
49454        Only delay loading of the plug-in if we'll kick off our own load of the
49455        plug-in data later, in start().
49456
494572010-02-10  Enrica Casucci  <enrica@apple.com>
49458
49459        Reviewed by Simon Fraser.
49460
49461        Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site        
49462        <rdar://problem/7557201>
49463        https://bugs.webkit.org/show_bug.cgi?id=34823
49464        
49465        No tests added because the code is exercised by the existing tests.
49466        
49467        The root cause was the fact that we were not releasing a reference that was held by CA.
49468        In debug builds we had an assert in the destructor of WKCACFLayer.
49469        
49470        * platform/graphics/win/GraphicsLayerCACF.cpp:
49471        (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
49472
494732010-02-10  Kwang Yul Seo  <skyul@company100.net>
49474
49475        Reviewed by Eric Seidel.
49476
49477        [BREWMP] Typedef DragImageRef
49478        https://bugs.webkit.org/show_bug.cgi?id=34791
49479
49480        Use IImage* as it is the BREW's image type.
49481
49482        * platform/DragImage.h:
49483
494842010-02-10  Beth Dakin  <bdakin@apple.com>
49485
49486        Reviewed by Simon Fraser and Darin Adler.
49487
49488        Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
49489        Mask not invalidating
49490
49491        SVGMaskElement is the only class that keeps a HashMap of canvas 
49492        resources rather than just a pointer to a resource. This 
49493        patch makes SVGMaskElement invalidate all of its resources in the 
49494        HashMap instead of just one.
49495
49496        * svg/SVGMaskElement.cpp:
49497        (WebCore::SVGMaskElement::svgAttributeChanged):
49498        (WebCore::SVGMaskElement::childrenChanged):
49499        (WebCore::SVGMaskElement::invalidateCanvasResources):
49500        * svg/SVGMaskElement.h:
49501        * svg/SVGStyledElement.cpp:
49502        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
49503        (WebCore::SVGStyledElement::invalidateCanvasResources):
49504        * svg/SVGStyledElement.h:
49505
495062010-02-10  Stephan Aßmus  <superstippi@gmx.de>
49507
49508        Reviewed by David Levin.
49509
49510        Fixes to rect conversion and image rendering on Haiku
49511        https://bugs.webkit.org/show_bug.cgi?id=34684
49512
49513        Covered by existing tests.
49514
49515        The changes to the rect conversions are indeed correct. In Haiku (to stay
49516        compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
49517        *indices*, even though the values are floating point. So a rectangle covering
49518        just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
49519        frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
49520        width and height of rectangles refer to the distance between pixels, while on
49521        Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
49522        that may be.
49523
49524        The part of the patch that affects
49525        WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
49526        methods more correctly. Image observers are notified, and pattern drawing takes
49527        the "phase" into account which makes scrolled backgrounds render correctly.
49528        Transformations are still not supported, since the Haiku drawing backend itself
49529        does not yet support them.
49530
49531        Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
49532
49533        Convert the bitmap data to non pre-multiplied until Haiku supports drawing
49534        pre-multiplied bitmaps.
49535
49536        * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
49537        * platform/graphics/haiku/ImageHaiku.cpp:
49538        (WebCore::BitmapImage::draw): Fixed placement, notify observers
49539        (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
49540        * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
49541        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
49542
495432010-02-10  Simon Fraser  <simon.fraser@apple.com>
49544
49545        Reviewed by David Levin.
49546
49547        Clean up unused member var and initialization in Document
49548        https://bugs.webkit.org/show_bug.cgi?id=34820
49549
49550        Remove unused m_secureForms member variable in Document.
49551        
49552        * dom/Document.cpp:
49553        (WebCore::Document::Document):
49554        * dom/Document.h:
49555
495562010-02-10  Kevin Watters  <kevinwatters@gmail.com>
49557
49558        Reviewed by Kevin Ollivier.
49559
49560        [wx] Add Windows complex text support and Mac support for containsCharacters.
49561        
49562        https://bugs.webkit.org/show_bug.cgi?id=34759
49563        
49564        * platform/graphics/SimpleFontData.h:
49565        * platform/graphics/wx/FontPlatformData.h:
49566        (WebCore::FontPlatformData::roundsGlyphAdvances):
49567        * platform/graphics/wx/FontPlatformDataWx.cpp:
49568        (WebCore::FontPlatformData::useGDI):
49569        (WebCore::FontPlatformData::hfont):
49570        * platform/graphics/wx/FontWx.cpp:
49571        (WebCore::Font::canReturnFallbackFontsForComplexText):
49572        (WebCore::Font::selectionRectForComplexText):
49573        (WebCore::Font::drawComplexText):
49574        (WebCore::Font::floatWidthForComplexText):
49575        (WebCore::Font::offsetForPositionForComplexText):
49576        * platform/graphics/wx/SimpleFontDataWx.cpp:
49577        (WebCore::SimpleFontData::platformInit):
49578        (WebCore::SimpleFontData::platformDestroy):
49579        (WebCore::SimpleFontData::containsCharacters):
49580        (WebCore::SimpleFontData::platformWidthForGlyph):
49581        (WebCore::SimpleFontData::scriptFontProperties):
49582        (WebCore::SimpleFontData::initGDIFont):
49583        (WebCore::SimpleFontData::platformCommonDestroy):
49584        (WebCore::SimpleFontData::widthForGDIGlyph):
49585        * platform/wx/wxcode/fontprops.h:
49586        * platform/wx/wxcode/gtk/fontprops.cpp:
49587        (wxFontContainsCharacters):
49588        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
49589        (wxFontContainsCharacters):
49590        * platform/wx/wxcode/win/fontprops.cpp:
49591        (wxFontContainsCharacters):
49592        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
49593        (WebCore::drawTextWithSpacing):
49594        * wscript:
49595
495962010-02-10  Kwang Yul Seo  <skyul@company100.net>
49597        Reviewed by Eric Seidel.
49598
49599        [BREWMP] Add dummy Frame::dragImageForSelection
49600        https://bugs.webkit.org/show_bug.cgi?id=34792
49601
49602        Add FrameBrew.cpp which contains a dummy implementation of
49603        Frame::dragImageForSelection.
49604
49605        * page/brew/FrameBrew.cpp: Added.
49606        (WebCore::Frame::dragImageForSelection):
49607
496082010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
49609
49610        [wx] Build fix. Switch drawPattern to Image class like other platforms.
49611
49612        * platform/graphics/BitmapImage.h:
49613        * platform/graphics/wx/ImageWx.cpp:
49614        (WebCore::Image::drawPattern):
49615
496162010-02-10  Chris Marrin  <cmarrin@apple.com>
49617
49618        Reviewed by Darin Adler.
49619
49620        Added CA_PRINT_TREE functionality to WKCACFLayer implementation
49621        https://bugs.webkit.org/show_bug.cgi?id=34779
49622        
49623        I've tried to duplicate the look of the output on Mac, but
49624        it's not quite the same. It shows all the useful information though.
49625        It is enabled by setting the environment variable CA_PRINT_TREE=1
49626        
49627        * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
49628        (WebCore::WKCACFLayer::isTransformLayer):
49629            Moved function to cpp file because it needs to use the function form
49630            of kCACFTransformLayer because the DLL is delay loaded, and that function
49631            can only be called from the cpp file.
49632        (WebCore::WKCACFLayer::sublayerAtIndex):
49633        (WebCore::printIndent):
49634        (WebCore::printTransform):
49635        (WebCore::WKCACFLayer::printTree):Prints from this layer down
49636        (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
49637        * platform/graphics/win/WKCACFLayer.h:
49638        * platform/graphics/win/WKCACFLayerRenderer.cpp:
49639        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
49640        (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
49641        (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
49642        * platform/graphics/win/WKCACFLayerRenderer.h:
49643        
496442010-02-10  Nate Chapin  <japhet@chromium.org>
49645
49646        Reviewed by Adam Barth.
49647
49648        Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
49649        to not use V8ClassIndex.
49650
49651        https://bugs.webkit.org/show_bug.cgi?id=34768
49652
49653        * bindings/scripts/CodeGeneratorV8.pm:
49654        * bindings/v8/V8Binding.cpp:
49655        * bindings/v8/V8Binding.h:
49656        * bindings/v8/V8DOMWindowShell.cpp:
49657        * bindings/v8/V8DOMWrapper.cpp:
49658        * bindings/v8/V8DOMWrapper.h:
49659        * bindings/v8/V8Proxy.cpp:
49660        * bindings/v8/WorkerContextExecutionProxy.cpp:
49661        * bindings/v8/custom/V8DOMWindowCustom.cpp:
49662        * bindings/v8/custom/V8LocationCustom.cpp:
49663        * bindings/v8/custom/V8MessageEventCustom.cpp:
49664
496652010-02-10  Nate Chapin  <japhet@chromium.org>
49666
49667        Reviewed by Dimitri Glazkov.
49668
49669        [V8] Handle the possibility that ScheduledAction::execute() may
49670        retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
49671        JS was disallowed).
49672
49673        * bindings/v8/ScheduledAction.cpp:
49674        (WebCore::ScheduledAction::execute):
49675
496762010-02-10  Kenneth Russell  <kbr@google.com>
49677
49678        Reviewed by Oliver Hunt.
49679
49680        Remove automatic viewport resizing
49681        https://bugs.webkit.org/show_bug.cgi?id=34766
49682
49683        Removed automatic viewport resizing per conclusions on the WebGL
49684        mailing list. Added test verifying new behavior and updated a
49685        couple of previous tests failing after this change.
49686
49687        Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
49688
49689        * platform/graphics/mac/GraphicsContext3DMac.cpp:
49690        (WebCore::GraphicsContext3D::reshape):
49691
496922010-02-10  Ariya Hidayat  <ariya.hidayat@gmail.com>
49693
49694        Reviewed by Kenneth Rohde Christiansen.
49695
49696        [Qt] Implement image interpolation quality.
49697
49698        https://bugs.webkit.org/show_bug.cgi?id=34629
49699
49700        * platform/graphics/qt/GraphicsContextQt.cpp:
49701        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
49702        (WebCore::GraphicsContext::setImageInterpolationQuality):
49703        (WebCore::GraphicsContext::imageInterpolationQuality):
49704
497052010-02-10  Eric Seidel  <eric@webkit.org>
49706
49707        No review, Mac build fix.
49708
49709        Crash in Flash at http://www.cctv.com/
49710        https://bugs.webkit.org/show_bug.cgi?id=34673
49711
49712        * plugins/PluginViewNone.cpp:
49713        (WebCore::PluginView::getValueStatic):
49714
497152010-02-10  Gustavo Noronha Silva  <gns@gnome.org>
49716
49717        Reviewed by Xan Lopez.
49718
49719        [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
49720        https://bugs.webkit.org/show_bug.cgi?id=34773
49721
49722        When unsetting the adjustments from a ScrollView, also disconnect
49723        them from the Scrollbars.
49724
49725        Test: fast/frames/frame-crash-with-page-cache.html
49726
49727        * platform/gtk/ScrollViewGtk.cpp:
49728        (WebCore::ScrollView::setGtkAdjustments):
49729        * platform/gtk/ScrollbarGtk.cpp:
49730        (ScrollbarGtk::~ScrollbarGtk):
49731        (ScrollbarGtk::detachAdjustment):
49732        * platform/gtk/ScrollbarGtk.h:
49733
497342010-02-09  Alexey Proskuryakov  <ap@apple.com>
49735
49736        Reviewed by Geoffrey Garen.
49737
49738        https://bugs.webkit.org/show_bug.cgi?id=34490
49739        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
49740
49741        Test: fast/images/destroyed-image-load-event.html
49742
49743        * ForwardingHeaders/wtf/ValueCheck.h: Added.
49744
49745        * loader/ImageLoader.cpp:
49746        (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
49747        so check the owner instead.
49748        (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
49749        (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
49750        in ImageEventSender.
49751        (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
49752        image. The only client using this method that I could find was DeleteButton, which doesn't
49753        care about load events for the new image, so I didn't add any code for firing those.
49754        (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
49755        there wasn't any meaningful code shared (callers just undid most assignments made there).
49756        Merged the logic into callers.
49757        (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
49758        old events, too.
49759        (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
49760        no one is going to dispatch the event "soon". So, don't queue it.
49761        (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
49762        help catch this particuar bug, but seems like a useful check anyway.
49763
49764        * loader/ImageLoader.h: Removed setLoadingImage().
49765
497662010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
49767
49768        Mac build fix. Unreviewed.
49769
49770        * WebCore.xcodeproj/project.pbxproj:
49771        Add PluginViewNone.cpp to the Mac project.
49772
497732010-02-10  Adam Roben  <aroben@apple.com>
49774
49775        Optimize ImageBuffer::toDataURL's CG implementation
49776
49777        There was some unused code that could have been removed in r31830 when
49778        this function was changed not to flip the CG image anymore.
49779
49780        Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
49781        unnecessary memory under CoreGraphics
49782
49783        Reviewed by Sam Weinig.
49784
49785        * platform/graphics/cg/ImageBufferCG.cpp:
49786        (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
49787        and buffer, and switch to the new overload of base64Encode that
49788        doesn't require us to copy all the image data into a Vector first.
49789
49790        * platform/text/Base64.cpp:
49791        (WebCore::base64Encode):
49792        * platform/text/Base64.h:
49793        Added an overload that takes a raw data pointer and length, just like
49794        we have for base64Decode. The overload that takes a Vector as input
49795        just calls through to the new overload.
49796
497972010-02-10  Dan Bernstein  <mitz@apple.com>
49798
49799        Reviewed by Dave Hyatt.
49800
49801        Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
49802        https://bugs.webkit.org/show_bug.cgi?id=34546
49803
49804        * manual-tests/drag-image-table-part-decorations.html:
49805        * rendering/RenderTableCell.cpp:
49806        (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
49807        paint within the current painting root.
49808
498092010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>
49810
49811        <rdar://problem/7436875> Crash in Flash when visiting
49812        http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
49813
49814        Reviewed by Darin Adler.
49815
49816        Test: platform/win/plugins/plugin-delayed-destroy.html
49817
49818        * bridge/NP_jsobject.cpp:
49819        (_NPN_Evaluate):
49820        If Flash calls this to evaluate a script that destroys the PluginView,
49821        we crash when returning to Flash code. Before evaluating the script,
49822        call PluginView::keepAlive() to hold a ref to this instance (and release
49823        it asynchronously).
49824
49825        * plugins/PluginView.cpp:
49826        (WebCore::instanceMap):
49827        Return a map from the NPP to the PluginView.
49828        (WebCore::PluginView::~PluginView):
49829        Assert that the keep alive timer is not running; remove ourselves from
49830        the instance map.
49831        (WebCore::PluginView::performRequest):
49832        The parent Frame is now a RefPtr; use .get().
49833        (WebCore::PluginView::status):
49834        Ditto.
49835        (WebCore::PluginView::didReceiveResponse):
49836        Ditto.
49837        (WebCore::PluginView::PluginView):
49838        Add the view to the instance map.
49839        (WebCore::PluginView::lifeSupportTimerFired):
49840        Deref the PluginView.
49841        (WebCore::PluginView::keepAlive):
49842        Ref the PluginView, then start a time to release the reference
49843        asynchronously.
49844        (WebCore::PluginView::keepAlive):
49845        Find the PluginView in the map, and call its keepAlive() function.
49846
49847        * plugins/PluginView.h:
49848        Made m_parentFrame a RefPtr, so that it will remain valid when the
49849        keep alive timer fires.
49850        (WebCore::PluginView::parentFrame):
49851        Use .get().
49852
49853        * plugins/gtk/PluginViewGtk.cpp:
49854        (WebCore::PluginView::updatePluginWidget):
49855        Use .get().
49856        (WebCore::PluginView::handleKeyboardEvent):
49857        Use .get().
49858        (WebCore::PluginView::handleMouseEvent):
49859        Use .get().
49860
49861        * plugins/PluginViewNone.cpp:
49862        (WebCore::PluginView::keepAlive):
49863        Stubbed.
49864
498652010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
49866
49867        Reviewed by Kenneth Rohde Christiansen.
49868
49869        Support frameset flattening
49870        https://bugs.webkit.org/show_bug.cgi?id=32717
49871
49872        Add support for enabling/disabling FrameSet Flattening on the Mac port.
49873
49874        * WebCore.base.exp:
49875
498762010-02-10  Jeremy Orlow  <jorlow@chromium.org>
49877
49878        Revert 54599 because it breaks a lot of tests on Windows Chrome
49879
49880        * inspector/front-end/DOMAgent.js:
49881        (WebInspector.DOMNode.prototype._insertChild):
49882        * inspector/front-end/ElementsPanel.js:
49883        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
49884        * inspector/front-end/ElementsTreeOutline.js:
49885        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
49886        (WebInspector.ElementsTreeElement):
49887        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49888        (WebInspector.ElementsTreeElement.prototype._updateChildren):
49889        ():
49890        * inspector/front-end/inspector.css:
49891
498922010-02-10  Adam Roben  <aroben@apple.com>
49893
49894        Fix bad paths in WebCore.vcproj
49895
49896        These were harmless in VS2005, but cause project conversion errors in
49897        VS2010 RC.
49898
49899        Fixes <http://webkit.org/b/34801>.
49900
49901        Reviewed by Dan Bernstein.
49902
49903        * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
49904        JSHTMLFrameSetElement.{cpp,h}.
49905
499062010-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
49907
49908        Not reviewed (build fix).
49909
49910        * platform/graphics/win/FontCacheWin.cpp:
49911        (WebCore::FontCache::getLastResortFallbackFont): Return a
49912        SimpleFontData here.
49913
499142010-02-10 Julien Chaffraix  <jchaffraix@pleyo.com>
49915
49916        Reviewed by Eric Seidel.
49917
49918        Bug 23287 -  Avoid using FontPlatformData outside the FontCache
49919
49920        No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
49921
49922        This change leaves the class FontCached as it needs some thoughts and more refactoring.
49923
49924        * css/CSSFontFaceSource.cpp:
49925        (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
49926        * css/CSSFontSelector.cpp:
49927        (WebCore::fontDataForGenericFamily): Ditto.
49928        * platform/graphics/FontCache.cpp:
49929        (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
49930        that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
49931        the returned FontPlatformData if it is not null.
49932        (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
49933        * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
49934        FontPlatformData. Moved some method in the private sections.
49935
49936        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
49937        (WebCore::FontCache::getSimilarFontPlatformData):
49938        (WebCore::FontCache::getLastResortFallbackFont):
49939        * platform/graphics/chromium/FontCacheLinux.cpp:
49940        (WebCore::FontCache::getSimilarFontPlatformData):
49941        (WebCore::FontCache::getLastResortFallbackFont):
49942        * platform/graphics/gtk/FontCacheGtk.cpp:
49943        (WebCore::FontCache::getSimilarFontPlatformData):
49944        (WebCore::FontCache::getLastResortFallbackFont):
49945        * platform/graphics/haiku/FontCacheHaiku.cpp:
49946        (WebCore::FontCache::getSimilarFontPlatformData):
49947        (WebCore::FontCache::getLastResortFallbackFont):
49948        * platform/graphics/qt/FontCacheQt.cpp:
49949        (WebCore::FontCache::getLastResortFallbackFont):
49950        * platform/graphics/win/FontCacheWin.cpp:
49951        (WebCore::FontCache::getSimilarFontPlatformData):
49952        (WebCore::FontCache::getLastResortFallbackFont):
49953        * platform/graphics/wince/FontCacheWince.cpp:
49954        * platform/graphics/wx/FontCacheWx.cpp:
49955        (WebCore::FontCache::getSimilarFontPlatformData):
49956        (WebCore::FontCache::getLastResortFallbackFont):
49957        Updated all the previous platform methods to return a SimpleFontData.
49958
49959        * platform/graphics/mac/FontCacheMac.mm:
49960        (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
49961        (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
49962        and moved a DEFINE_STATIC_LOCAL where it is needed.
49963
499642010-02-10  Alexander Pavlov  <apavlov@chromium.org>
49965
49966        Reviewed by Pavel Feldman.
49967
49968        Web Inspector: Elements Panel: Limit the number of initially loaded element children
49969        https://bugs.webkit.org/show_bug.cgi?id=34421
49970
49971        Test: inspector/elements-panel-limited-children.html
49972
49973        * English.lproj/localizedStrings.js:
49974        * inspector/front-end/DOMAgent.js:
49975        (WebInspector.DOMNode.prototype._insertChild):
49976        * inspector/front-end/ElementsPanel.js:
49977        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
49978        * inspector/front-end/ElementsTreeOutline.js:
49979        (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
49980        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
49981        (WebInspector.ElementsTreeElement):
49982        (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
49983        (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
49984        (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
49985        (WebInspector.ElementsTreeElement.prototype.showChild):
49986        (WebInspector.ElementsTreeElement.prototype.insertChildElement):
49987        (WebInspector.ElementsTreeElement.prototype.moveChild):
49988        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49989        (WebInspector.ElementsTreeElement.prototype._updateChildren):
49990        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
49991        (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
49992        ():
49993        * inspector/front-end/inspector.css:
49994
499952010-02-10  Mikhail Naganov  <mnaganov@chromium.org>
49996
49997        Reviewed by Pavel Feldman.
49998
49999        Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
50000        making JavaScriptDebugServer engine-agnostic.
50001
50002        https://bugs.webkit.org/show_bug.cgi?id=34795
50003
50004        * GNUmakefile.am:
50005        * WebCore.gypi:
50006        * WebCore.pro:
50007        * WebCore.xcodeproj/project.pbxproj:
50008        * bindings/js/JSBindingsAllInOne.cpp:
50009        * bindings/js/ScriptDebugServer.cpp: Added.
50010        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
50011        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
50012        * bindings/js/ScriptDebugServer.h: Added.
50013        * bindings/v8/ScriptDebugServer.cpp: Added.
50014        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
50015        (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
50016        * bindings/v8/ScriptDebugServer.h: Added.
50017        * inspector/InspectorController.cpp:
50018        (WebCore::InspectorController::startUserInitiatedProfiling):
50019        (WebCore::InspectorController::enableProfiler):
50020        (WebCore::InspectorController::disableProfiler):
50021        * page/Console.cpp:
50022        (WebCore::Console::profile):
50023        (WebCore::Console::profileEnd):
50024
500252009-10-06  Yongjun Zhang  <yongjun.zhang@nokia.com>
50026
50027        Reviewed by Simon Hausmann.
50028
50029        Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
50030
50031        Will be reverted when the following winscw compiler bug is fixed.
50032        https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
50033
50034        https://bugs.webkit.org/show_bug.cgi?id=28054
50035
50036        * bridge/jni/jsc/JavaInstanceJSC.h:
50037        * bridge/jni/v8/JavaInstanceV8.h:
50038
500392010-02-10  Yaar Schnitman  <yaar@chromium.org>
50040
50041        Reviewed by Adam Barth.
50042
50043        Simplified RuntimeEnabledFeatures and corresponding v8 generated code
50044        https://bugs.webkit.org/show_bug.cgi?id=34667
50045
50046        * WebCore.gypi:
50047        * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
50048        (WebCore::RuntimeEnabledFeatures::audioEnabled):
50049        (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
50050        (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
50051        (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
50052        (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
50053        (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
50054        (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
50055        (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
50056        * bindings/generic/RuntimeEnabledFeatures.h: Added.
50057        (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
50058        (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
50059        (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
50060        (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
50061        (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
50062        (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
50063        (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
50064        (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
50065        (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
50066        (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
50067        (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
50068        (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
50069        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
50070        * bindings/scripts/CodeGenerator.pm:
50071        * bindings/scripts/CodeGeneratorV8.pm:
50072        * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
50073        * bindings/v8/RuntimeEnabledFeatures.h: Removed.
50074        * bindings/v8/custom/V8DOMWindowCustom.cpp:
50075        * bindings/v8/custom/V8NavigatorCustom.cpp:
50076        * bindings/v8/custom/V8WorkerContextCustom.cpp:
50077
500782010-02-09  Alexander Pavlov  <apavlov@chromium.org>
50079
50080        Reviewed by Pavel Feldman.
50081
50082        Web Inspector: Add two basic categories for the Audits panel
50083        https://bugs.webkit.org/show_bug.cgi?id=32930
50084
50085        * WebCore.gypi:
50086        * WebCore.vcproj/WebCore.vcproj:
50087        * inspector/front-end/AuditCategories.js: Added.
50088        (WebInspector.AuditCategories.PagePerformance):
50089        (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
50090        (WebInspector.AuditCategories.NetworkUtilization):
50091        (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
50092        * inspector/front-end/AuditLauncherView.js:
50093        (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
50094        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
50095        (WebInspector.AuditLauncherView.prototype.show):
50096        * inspector/front-end/AuditRules.js: Added.
50097        (WebInspector.AuditRules.arrayAsUL):
50098        (WebInspector.AuditRules.getDomainToResourcesMap):
50099        (WebInspector.AuditRules.evaluateInTargetWindow):
50100        (WebInspector.AuditRules.GzipRule):
50101        (WebInspector.AuditRules.GzipRule.prototype.doRun):
50102        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
50103        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
50104        (WebInspector.AuditRules.CombineExternalResourcesRule):
50105        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
50106        (WebInspector.AuditRules.CombineJsResourcesRule):
50107        (WebInspector.AuditRules.CombineCssResourcesRule):
50108        (WebInspector.AuditRules.MinimizeDnsLookupsRule):
50109        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
50110        (WebInspector.AuditRules.ParallelizeDownloadRule):
50111        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
50112        (WebInspector.AuditRules.UnusedCssRule):
50113        (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
50114        (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
50115        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
50116        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
50117        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
50118        (WebInspector.AuditRules.CacheControlRule):
50119        (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
50120        (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
50121        (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
50122        (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
50123        (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
50124        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
50125        (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
50126        (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
50127        (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
50128        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
50129        (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
50130        (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
50131        (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
50132        (WebInspector.AuditRules.BrowserCacheControlRule):
50133        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
50134        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
50135        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
50136        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
50137        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
50138        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
50139        (WebInspector.AuditRules.ProxyCacheControlRule):
50140        (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
50141        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
50142        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
50143        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
50144        (WebInspector.AuditRules.ImageDimensionsRule):
50145        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
50146        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
50147        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
50148        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
50149        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
50150        (WebInspector.AuditRules.CssInHeadRule):
50151        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
50152        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
50153        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
50154        (WebInspector.AuditRules.StylesScriptsOrderRule):
50155        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
50156        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
50157        (WebInspector.AuditRules.CookieRuleBase):
50158        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
50159        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
50160        (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
50161        (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
50162        (WebInspector.AuditRules.CookieSizeRule):
50163        (WebInspector.AuditRules.CookieSizeRule.prototype._average):
50164        (WebInspector.AuditRules.CookieSizeRule.prototype._max):
50165        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
50166        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
50167        (WebInspector.AuditRules.StaticCookielessRule):
50168        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
50169        (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
50170        * inspector/front-end/AuditsPanel.js:
50171        (WebInspector.AuditsPanel.prototype._constructCategories):
50172        (WebInspector.AuditsPanel.prototype._reloadResources):
50173        (WebInspector.AuditsPanel.prototype.show):
50174        (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
50175        (WebInspector.AuditCategory):
50176        (WebInspector.AuditCategory.prototype.get id):
50177        (WebInspector.AuditCategory.prototype.get ruleCount):
50178        (WebInspector.AuditCategory.prototype.runRules):
50179        (WebInspector.AuditCategory.prototype._ensureInitialized):
50180        (WebInspector.AuditCategoryResult):
50181        * inspector/front-end/WebKit.qrc:
50182        * inspector/front-end/audits.css:
50183        * inspector/front-end/inspector.html:
50184        * inspector/front-end/inspector.js:
50185        (WebInspector.loaded):
50186        (WebInspector.addPanelToolbarIcon):
50187        (WebInspector.documentKeyDown):
50188
501892010-02-10  Adam Barth  <abarth@webkit.org>
50190
50191        Reviewed by Darin Adler.
50192
50193        Freeze sandbox attributes on creation
50194        https://bugs.webkit.org/show_bug.cgi?id=34184
50195
50196        This is how the spec works now.
50197
50198        Test: fast/frames/sandboxed-iframe-forms-dynamic.html
50199
50200        * bindings/ScriptControllerBase.cpp:
50201        (WebCore::ScriptController::canExecuteScripts):
50202        * bindings/generic/BindingDOMWindow.h:
50203        (WebCore::::createWindow):
50204        * bindings/js/JSDOMWindowCustom.cpp:
50205        (WebCore::createWindow):
50206        * dom/Document.cpp:
50207        * dom/Document.h:
50208        * loader/FrameLoader.cpp:
50209        (WebCore::FrameLoader::submitForm):
50210        (WebCore::FrameLoader::requestObject):
50211        (WebCore::FrameLoader::shouldAllowNavigation):
50212        (WebCore::FrameLoader::updateSandboxFlags):
50213        * page/SecurityOrigin.cpp:
50214        * page/SecurityOrigin.h:
50215
502162010-02-09  Ariya Hidayat  <ariya.hidayat@gmail.com>
50217
50218        Rubber-stamped by Kenneth Rohde Christiansen.
50219
50220        [Qt] Remove old, outdated unused code block.
50221
50222        * platform/graphics/qt/GraphicsContextQt.cpp:
50223
502242010-02-09  Chris Guillory  <ctguil@google.com>
50225
50226        Reviewed by Darin Fisher.
50227
50228        [Chromium] Notify ChromeClientChromium of state change notifications.
50229        
50230        https://bugs.webkit.org/show_bug.cgi?id=34464
50231
50232        * accessibility/chromium/AXObjectCacheChromium.cpp:
50233        (WebCore::toChromeClientChromium):
50234        (WebCore::AXObjectCache::postPlatformNotification):
50235        * page/chromium/ChromeClientChromium.h:
50236
502372010-02-09  Kwang Yul Seo  <skyul@company100.net>
50238
50239        Reviewed by Adam Barth.
50240
50241        [BREWMP] Port PlatformMouseEvent
50242        https://bugs.webkit.org/show_bug.cgi?id=34600
50243
50244        Retrieve the event type, position, key modifiers, time stamp
50245        and click count from AEEEvent.
50246
50247        * platform/PlatformMouseEvent.h:
50248        * platform/brew/PlatformMouseEventBrew.cpp: Added.
50249        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
50250
502512010-02-09  Avi Drissman  <avi@chromium.org>
50252
50253        Reviewed by Timothy Hatcher.
50254
50255        [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
50256        https://bugs.webkit.org/show_bug.cgi?id=34544
50257
50258        Covered by layout tests when run on SL.
50259
50260        * platform/chromium/ThemeChromiumMac.mm:
50261        (-[TCMVisibleView _focusRingVisibleRect]):
50262        (-[TCMVisibleView _focusRingClipAncestor]):
50263        (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
50264        (FocusIndicationFix::swizzleFocusView):
50265        (FocusIndicationFix::ScopedFixer::ScopedFixer):
50266        (FocusIndicationFix::ScopedFixer::~ScopedFixer):
50267        (+[NSView TCMInterposing_focusView]):
50268        (WebCore::paintCheckbox):
50269        (WebCore::paintRadio):
50270        (WebCore::paintButton):
50271
502722010-02-09  Anton Muhin  <antonm@chromium.org>
50273
50274        Reviewed by Nate Chapin.
50275
50276        [v8] Check if returned wrapper is empty before operating on it.
50277        https://bugs.webkit.org/show_bug.cgi?id=34746
50278
50279        * bindings/v8/custom/V8DocumentCustom.cpp:
50280        (WebCore::toV8):
50281        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
50282        (WebCore::toV8):
50283        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
50284        (WebCore::toV8):
50285
502862010-02-09  Mikhail Naganov  <mnaganov@chromium.org>
50287
50288        Reviewed by Pavel Feldman.
50289
50290        Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
50291        Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
50292        for really enabling it in V8 bindings generation.
50293
50294        https://bugs.webkit.org/show_bug.cgi?id=34706
50295
50296        * inspector/InjectedScriptHost.idl:
50297        * inspector/InspectorBackend.cpp:
50298        (WebCore::InspectorBackend::currentCallFrame):
50299        (WebCore::InspectorBackend::getProfile):
50300        * inspector/InspectorBackend.h:
50301        * inspector/InspectorBackend.idl:
50302        * inspector/InspectorController.cpp:
50303        (WebCore::InspectorController::InspectorController):
50304        (WebCore::InspectorController::addProfile):
50305        (WebCore::InspectorController::getProfile):
50306        (WebCore::InspectorController::startUserInitiatedProfiling):
50307        (WebCore::InspectorController::stopUserInitiatedProfiling):
50308        (WebCore::InspectorController::enableProfiler):
50309        (WebCore::InspectorController::disableProfiler):
50310        * inspector/InspectorController.h:
50311        * inspector/InspectorFrontend.cpp:
50312        (WebCore::InspectorFrontend::pausedScript):
50313        (WebCore::InspectorFrontend::resumedScript):
50314        (WebCore::InspectorFrontend::profilerWasEnabled):
50315        (WebCore::InspectorFrontend::profilerWasDisabled):
50316        (WebCore::InspectorFrontend::didGetProfile):
50317        * inspector/InspectorFrontend.h:
50318        * page/Console.idl:
50319
503202010-02-09  Gavin Barraclough  <barraclough@apple.com>
50321
50322        Rubber Stamped by Geoff Garen.
50323
50324        Rename StringBuilder::release && JSStringBuilder::releaseJSString
50325        to 'build()'.
50326
50327        * bindings/js/ScriptString.h:
50328        (WebCore::ScriptString::operator+=):
50329
503302010-02-09  Dan Bernstein  <mitz@apple.com>
50331
50332        Reviewed by Anders Carlsson.
50333
50334        <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
50335        https://bugs.webkit.org/show_bug.cgi?id=34776
50336
50337        Tests: plugins/instance-available-before-stylesheets-loaded-object.html
50338               plugins/instance-available-before-stylesheets-loaded.html
50339
50340        * html/HTMLEmbedElement.cpp:
50341        (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
50342        updateLayoutIgnorePendingStylesheets() before checking for a renderer. 
50343        * html/HTMLObjectElement.cpp:
50344        (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
50345
503462010-02-09  Alejandro G. Castro  <alex@igalia.com>
50347
50348        Reviewed by Darin Adler.
50349
50350        Problems navigating by caret in links whose text wraps onto
50351        subsequent lines.
50352        https://bugs.webkit.org/show_bug.cgi?id=25676
50353
50354        We should not search ahead if we are not in the last element.
50355
50356        * dom/Position.cpp:
50357
503582010-02-09  Dirk Schulze  <krit@webkit.org>
50359
50360        Reviewed by Nikolas Zimmermann.
50361
50362        More optimization for AffineTransform with SVG
50363        https://bugs.webkit.org/show_bug.cgi?id=34774
50364
50365        Some optimizations to safe unnecessary summations and multiplications.
50366        Optimize AffineTransform to handle an identity or translation matrix
50367        more efficient.
50368        Added translationRight to avoid multiplications of matrices as much as
50369        possible.
50370
50371        No tests added, no change of functionality.   
50372
50373        * platform/graphics/transforms/AffineTransform.cpp:
50374        (WebCore::AffineTransform::inverse):
50375        (WebCore::AffineTransform::translate):
50376        (WebCore::AffineTransform::translateRight):
50377        * platform/graphics/transforms/AffineTransform.h:
50378        * rendering/RenderForeignObject.cpp:
50379        (WebCore::RenderForeignObject::translationForAttributes):
50380        (WebCore::RenderForeignObject::localToParentTransform):
50381        * rendering/RenderForeignObject.h:
50382        * rendering/RenderSVGRoot.cpp:
50383        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
50384        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
50385        (WebCore::RenderSVGRoot::localToParentTransform):
50386        * rendering/RenderSVGViewportContainer.cpp:
50387        (WebCore::RenderSVGViewportContainer::localToParentTransform):
50388        * rendering/SVGRootInlineBox.cpp:
50389        (WebCore::applyTextLengthCorrectionToTextChunk):
50390
503912010-02-09  Dirk Schulze  <krit@webkit.org>
50392
50393        Reviewed by Nikolas Zimmermann.
50394
50395        SVG patterns with some scale patternTransform are not displayed correctly for small elements
50396        https://bugs.webkit.org/show_bug.cgi?id=25484
50397
50398        SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
50399        causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
50400
50401        Tests: svg/custom/pattern-excessive-malloc.svg
50402               svg/custom/pattern-size-bigger-than-target-size.svg
50403               svg/custom/pattern-skew-transformed.svg
50404
50405        * svg/SVGPatternElement.cpp:
50406        (WebCore::SVGPatternElement::buildPattern):
50407
504082010-02-09  Darin Adler  <darin@apple.com>
50409
50410        * rendering/RenderObject.cpp:
50411        (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
50412
504132010-02-09  MORITA Hajime  <morrita@gmail.com>
50414
50415        Reviewed by Nikolas Zimmermann.
50416
50417        SVG selection text foreground colour does not respect user settings
50418        https://bugs.webkit.org/show_bug.cgi?id=15997
50419
50420        Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
50421        SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
50422        text on SVG. Selected texts are painted with style from
50423        getCachedPseudoStyle() instead of style().
50424        
50425        Tests: svg/text/selection-styles.xhtml
50426
50427        * rendering/SVGCharacterLayoutInfo.h:
50428        (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
50429        (WebCore::SVGTextChunkWalker::setupFillSelection):
50430        (WebCore::SVGTextChunkWalker::setupStrokeSelection):
50431        * rendering/SVGRootInlineBox.cpp:
50432        (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
50433        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
50434        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
50435        (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
50436        (WebCore::SVGRootInlineBox::paint):
50437        (WebCore::SVGRootInlineBox::walkTextChunks):
50438        * rendering/SVGInlineTextBox.h:
50439        (WebCore::):        
50440        Add callback hooks and its implementation for handle new
50441        subphases.
50442        
50443        * rendering/SVGInlineTextBox.cpp:
50444        (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
50445        (WebCore::SVGInlineTextBox::paintCharacters):
50446        Split box text into selected part and non-selected part, and use
50447        separate subphases to paint them.
50448        
50449        * svg/SVGFont.cpp:
50450        (WebCore::SVGTextRunWalker::walk):
50451        Relax ASSERT() condition to accept a part of text.
50452        
50453        * svg/graphics/SVGPaintServer.cpp:
50454        (WebCore::applyStrokeStyleToContext):
50455        (WebCore::SVGPaintServer::setup):
50456        * svg/graphics/SVGPaintServer.h:
50457        * svg/graphics/SVGPaintServerGradient.cpp:
50458        (WebCore::SVGPaintServerGradient::setup):
50459        * svg/graphics/SVGPaintServerGradient.h:
50460        * svg/graphics/SVGPaintServerPattern.cpp:
50461        (WebCore::SVGPaintServerPattern::setup):
50462        * svg/graphics/SVGPaintServerPattern.h:
50463        * svg/graphics/SVGPaintServerSolid.cpp:
50464        (WebCore::SVGPaintServerSolid::setup):
50465        * svg/graphics/SVGPaintServerSolid.h:
50466        Change setup() signature to accept RenderStyle instead of always
50467        using RenderObject::style().
50468
504692010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>
50470
50471        Reviewed by Dirk Schulze.
50472
50473        No scroll bars are displayed for standalone SVG image
50474        https://bugs.webkit.org/show_bug.cgi?id=11225
50475
50476        Height and width defined for svg element are not honored
50477        https://bugs.webkit.org/show_bug.cgi?id=24033
50478
50479        SVG file does not pan and has no scroll bars
50480        https://bugs.webkit.org/show_bug.cgi?id=24448
50481
50482        Adapt to SVG 1.1 errata to change the overflow handling:
50483        Replace "svg { overflow: hidden }"  by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
50484        Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
50485
50486        Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
50487
50488        Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
50489               svg/overflow/overflow-on-inner-svg-element.svg
50490               svg/overflow/overflow-on-outermost-svg-element-defaults.svg
50491               svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
50492               svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
50493               svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
50494               svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
50495               svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
50496               svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
50497               svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
50498               svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
50499
50500        * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
50501        * page/FrameView.cpp: 
50502        (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
50503        * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
50504        (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
50505        (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
50506        (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
50507        * rendering/RenderSVGViewportContainer.cpp:
50508        (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
50509        * rendering/SVGRenderSupport.cpp:
50510        (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
50511
505122010-02-09  Kwang Yul Seo  <skyul@company100.net>
50513
50514        Reviewed by Eric Seidel.
50515
50516        [BREWMP] Port KURL::fileSystemPath
50517        https://bugs.webkit.org/show_bug.cgi?id=34516
50518
50519        Convert a file URL to a file path by prefixing
50520        AEEFS_HOME_DIR to access files relative to the current
50521        module directory in a case-sensitive manner.
50522
50523        As IWeb "file:" engine opens files in BREW's application-relative
50524        file namespace, we follow the same policy here.
50525
50526        * platform/brew/KURLBrew.cpp: Added.
50527        (WebCore::KURL::fileSystemPath):
50528
505292010-02-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
50530
50531        Reviewed by Kenneth Rohde Christiansen.
50532
50533        [Qt] the above website does not render properly when in compositing mode
50534        https://bugs.webkit.org/show_bug.cgi?id=34681
50535
50536        http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
50537
50538        * platform/graphics/qt/GraphicsLayerQt.cpp:
50539        (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
50540        QGraphicsEffect
50541        (WebCore::MaskEffectQt::draw): reimp
50542        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
50543        (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
50544        (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
50545        mask layer, not just the actual children
50546
505472010-02-09  Kwang Yul Seo  <skyul@company100.net>
50548
50549        Reviewed by Laszlo Gombos.
50550
50551        [BREWMP] Fix macro redefinition error in BREWMP simulator build.
50552        https://bugs.webkit.org/show_bug.cgi?id=34738
50553
50554        Remove warning: 'FAR' macro redefinition.
50555
50556        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
50557
505582010-02-07  Yuzo Fujishima  <yuzo@google.com>
50559
50560        Reviewed by Dan Bernstein.
50561
50562        Fix the following bugs:
50563        https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
50564        https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
50565
50566        Tests: fast/css/inline-element-line-break.html
50567               fast/css/pseudo-element-line-break.html
50568
50569        findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
50570        but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
50571
50572        * rendering/RenderBlockLineLayout.cpp:
50573        (WebCore::RenderBlock::findNextLineBreak):
50574
505752010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
50576
50577        Reviewed by Darin Adler.
50578
50579        Provide a way to get total number of pages to be printed
50580        https://bugs.webkit.org/show_bug.cgi?id=34699
50581
50582        Test: printing/numberOfPages.html
50583
50584        * WebCore.base.exp:
50585        * page/PrintContext.cpp:
50586        (WebCore::PrintContext::pageNumberForElement):
50587        (WebCore::PrintContext::numberOfPages):
50588        * page/PrintContext.h:
50589        (WebCore::PrintContext::pageRects):
50590
505912010-02-08  Dominic Cooney  <dominicc@google.com>
50592
50593        Reviewed by Adam Barth.
50594
50595        [V8] Move Element custom methods into generic bindings
50596
50597        This patch moves the security checks in setAttribute,
50598        setAttributeNode, setAttributeNS and setAttributeNodeNS from
50599        V8ElementCustom into the generic bindings so that they can be
50600        reused in other bindings. This is in a similar vein to
50601        <https://bugs.webkit.org/attachment.cgi?id=45872>.
50602
50603        https://bugs.webkit.org/show_bug.cgi?id=34554
50604
50605        LayoutTests: None
50606
50607        * WebCore.gypi:
50608        * bindings/generic/BindingElement.h: Added.
50609        (WebCore::::setAttribute):
50610        (WebCore::::setAttributeNode):
50611        (WebCore::::setAttributeNS):
50612        (WebCore::::setAttributeNodeNS):
50613        * bindings/v8/V8Binding.h:
50614        * bindings/v8/custom/V8ElementCustom.cpp:
50615        (WebCore::V8Element::setAttributeCallback):
50616        (WebCore::V8Element::setAttributeNodeCallback):
50617        (WebCore::V8Element::setAttributeNSCallback):
50618        (WebCore::V8Element::setAttributeNodeNSCallback):
50619
506202010-02-08  Hayato Ito  <hayato@chromium.org>
50621
50622        Reviewed by Darin Adler.
50623
50624        Schedule a loading request when there are many in-flight requests beyond
50625        the limit to avoid forever page loading.
50626
50627        https://bugs.webkit.org/show_bug.cgi?id=31227
50628
50629        Test: http/tests/loading/load-javascript-after-many-xhrs.html
50630
50631        * loader/loader.cpp:
50632        (WebCore::Loader::Host::servePendingRequests):
50633
506342010-02-08  David Levin  <levin@chromium.org>
50635
50636        Reviewed by Gavin Barraclough.
50637
50638        REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
50639        https://bugs.webkit.org/show_bug.cgi?id=34728
50640
50641        The core part of the fix is to change WebCoreJSClientData::m_normalWorld
50642        from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
50643        is really ref counted.
50644
50645        No new tests because current tests sufficiently cover this as evidenced as
50646        the buildbot crashes.
50647
50648        * bindings/js/JSDOMBinding.cpp:
50649        (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
50650        being 0.
50651        * bindings/js/JSDOMBinding.h:
50652        (WebCore::DOMWrapperWorld::create): Made this class follow the standard
50653        create pattern for RefCounted classes.
50654        (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
50655        now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
50656        (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
50657        m_normalWorld being a RefPtr.
50658        (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
50659        asserts for the FIXME).
50660        (WebCore::WebCoreJSClientData::normalWorld): Ditto.
50661        * bindings/js/ScriptController.cpp:
50662        (WebCore::IsolatedWorld::create): Made the constructor protected.
50663        (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
50664        that code would have to use the create method.
50665
506662010-02-08  Kinuko Yasuda  <kinuko@chromium.org>
50667
50668        Reviewed by David Levin.
50669
50670        Remove special utf-8 tag from Chromium cilpboard code because
50671        we now have the corresponding code in generic clipboard framework
50672        code in chromium (since it's needed by other places than in Web
50673        page rendering) and no longer need the separate workaround code in
50674        WebKit.
50675        https://bugs.webkit.org/show_bug.cgi?id=34567
50676
50677        Test: (for regression) editing/pasteboard
50678
50679        * platform/chromium/ClipboardChromium.cpp:
50680        (WebCore::ClipboardChromium::writeRange):
50681        * platform/chromium/PasteboardChromium.cpp:
50682        (WebCore::Pasteboard::writeSelection):
50683        (WebCore::Pasteboard::documentFragment):
50684
506852010-02-08  Darin Adler  <darin@apple.com>
50686
50687        Reviewed by Dan Bernstein.
50688
50689        Crash due to layout not done in case involving removal of absolute positioning
50690        https://bugs.webkit.org/show_bug.cgi?id=34734
50691        rdar://problem/7588280
50692
50693        Test: fast/dynamic/position-change-layout.html
50694
50695        * rendering/RenderObject.cpp:
50696        (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
50697        a case where the object already needs layout, but might have a new containing
50698        block and so needs to mark the new containing block.
50699
507002010-02-08  Charlie Reis  <creis@chromium.org>
50701
50702        Reviewed by Darin Adler.
50703
50704        onbeforeunload not called at window close + frame or iframe focused
50705        https://bugs.webkit.org/show_bug.cgi?id=27481
50706        
50707        Chromium and WebKit on Windows will now fire beforeunload handlers
50708        even if an inner frame is focused.  
50709
50710        Layout tests aren't able to test this bug, since it requires closing
50711        the actual browser window, not calling window.close().  Instead,
50712        test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
50713
50714        * manual-tests/onbeforeunload-focused-iframe.html: Added.
50715        * manual-tests/resources/focused-iframe.html: Added.
50716
507172010-02-08  Alexey Proskuryakov  <ap@apple.com>
50718
50719        Addressing review feedback.
50720
50721        * bridge/c/c_instance.h: Removed argument name.
50722
507232010-02-08  Alexey Proskuryakov  <ap@apple.com>
50724
50725        Reviewed by Darin Adler.
50726
50727        https://bugs.webkit.org/show_bug.cgi?id=34727
50728        Assertion crashes and freezes when plug-in property access results in an exception
50729
50730        Test: plugins/netscape-plugin-property-access-exception.html
50731
50732        * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
50733        be called from CField.
50734
50735        * bridge/c/c_runtime.cpp:
50736        (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
50737        this, not only didn't we get exceptions, but we also got an assertion failure because of
50738        dangling global exception on next call into plug-in.
50739        (JSC::Bindings::CField::setValueToInstance): Ditto.
50740
507412010-02-08  Dirk Schulze  <krit@webkit.org>
50742
50743        Unreviewed build fix of ChromiumWin.
50744
50745        * platform/graphics/chromium/TransparencyWin.cpp:
50746        (WebCore::):
50747        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
50748        (WebCore::TransparencyWin::setupTransformForKeepTransform):
50749        * platform/graphics/chromium/TransparencyWin.h:
50750        * rendering/RenderThemeChromiumWin.cpp:
50751        (WebCore::):
50752
507532010-02-05  Dumitru Daniliuc  <dumi@chromium.org>
50754
50755        Reviewed by Jeremy Orlow.
50756
50757        Adding a way to get the set of all open database handles pointing
50758        to a given database.
50759        https://bugs.webkit.org/show_bug.cgi?id=34619
50760
50761        Sometimes we need to be able to close all handles to a database as
50762        soon as possible (to delete the DB file, for example).
50763
50764        * storage/DatabaseTracker.cpp:
50765        (WebCore::DatabaseTracker::getOpenDatabases):
50766        * storage/DatabaseTracker.h:
50767        * storage/chromium/DatabaseTrackerChromium.cpp:
50768        (WebCore::DatabaseTracker::addOpenDatabase):
50769        (WebCore::DatabaseTracker::removeOpenDatabase):
50770        (WebCore::DatabaseTracker::getOpenDatabases):
50771
507722010-02-08  Dirk Schulze  <krit@webkit.org>
50773
50774        Unreviewed windows build-fix.
50775
50776        * page/win/FrameCGWin.cpp:
50777        (WebCore::drawRectIntoContext):
50778
507792010-02-08  Dirk Schulze  <krit@webkit.org>
50780
50781        Reviewed by Nikolas Zimmermann.
50782
50783        Add back an AffineTransform class for use by SVG
50784        https://bugs.webkit.org/show_bug.cgi?id=33750
50785
50786        This adds back AffineTransform. This saves additional 4% memory consumption
50787        on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
50788        It also makes it possible to optimize the calculations internally of
50789        AffineTransform to the needs of 2D transformations (the second benefit for SVG,
50790        which uses transformations relative often at the moment.
50791        Everything that is 2D related (like images, patterns, gradients, fonts), uses
50792        AffineTransform now.
50793
50794        * WebCore.xcodeproj/project.pbxproj:
50795        * bindings/js/JSSVGMatrixCustom.cpp:
50796        (WebCore::JSSVGMatrix::multiply):
50797        (WebCore::JSSVGMatrix::inverse):
50798        (WebCore::JSSVGMatrix::rotateFromVector):
50799        * bindings/js/JSSVGPODTypeWrapper.h:
50800        * bindings/scripts/CodeGeneratorJS.pm:
50801        * bindings/scripts/CodeGeneratorObjC.pm:
50802        * bindings/scripts/CodeGeneratorV8.pm:
50803        * bindings/v8/V8Index.h:
50804        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
50805        (WebCore::V8SVGMatrix::multiplyCallback):
50806        (WebCore::V8SVGMatrix::inverseCallback):
50807        (WebCore::V8SVGMatrix::rotateFromVectorCallback):
50808        * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
50809        (WebCore::HTMLCanvasElement::baseTransform):
50810        * html/HTMLCanvasElement.h:
50811        * platform/graphics/FloatPoint.cpp:
50812        (WebCore::FloatPoint::matrixTransform):
50813        * platform/graphics/FloatPoint.h:
50814        * platform/graphics/GeneratedImage.cpp:
50815        (WebCore::GeneratedImage::drawPattern):
50816        * platform/graphics/GeneratedImage.h:
50817        * platform/graphics/Gradient.cpp:
50818        (WebCore::Gradient::setGradientSpaceTransform):
50819        (WebCore::Gradient::setPlatformGradientSpaceTransform):
50820        * platform/graphics/Gradient.h:
50821        (WebCore::Gradient::gradientSpaceTransform):
50822        * platform/graphics/GraphicsContext.h:
50823        * platform/graphics/Image.cpp:
50824        (WebCore::Image::drawTiled):
50825        * platform/graphics/Image.h:
50826        * platform/graphics/ImageBuffer.h:
50827        (WebCore::ImageBuffer::baseTransform):
50828        * platform/graphics/Path.h:
50829        * platform/graphics/Pattern.cpp:
50830        (WebCore::Pattern::setPatternSpaceTransform):
50831        * platform/graphics/Pattern.h:
50832        (WebCore::Pattern::create):
50833        (WebCore::Pattern::tileImage):
50834        * platform/graphics/cairo/FontCairo.cpp:
50835        (WebCore::Font::drawGlyphs):
50836        * platform/graphics/cairo/GraphicsContextCairo.cpp:
50837        (WebCore::setPlatformFill):
50838        (WebCore::setPlatformStroke):
50839        (WebCore::GraphicsContext::getCTM):
50840        * platform/graphics/cairo/ImageCairo.cpp:
50841        (WebCore::Image::drawPattern):
50842        * platform/graphics/cairo/PathCairo.cpp:
50843        * platform/graphics/cairo/PatternCairo.cpp:
50844        (WebCore::Pattern::createPlatformPattern):
50845        * platform/graphics/cg/GraphicsContextCG.cpp:
50846        (WebCore::GraphicsContext::getCTM):
50847        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
50848        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50849        * platform/graphics/cg/ImageCG.cpp:
50850        (WebCore::Image::drawPattern):
50851        * platform/graphics/cg/PathCG.cpp:
50852        * platform/graphics/cg/PatternCG.cpp:
50853        (WebCore::Pattern::createPlatformPattern):
50854        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
50855        (WebCore::GraphicsContext::getCTM):
50856        * platform/graphics/haiku/ImageHaiku.cpp:
50857        (WebCore::Image::drawPattern):
50858        * platform/graphics/haiku/PathHaiku.cpp:
50859        * platform/graphics/qt/FontQt.cpp:
50860        (WebCore::Font::drawComplexText):
50861        * platform/graphics/qt/GraphicsContextQt.cpp:
50862        (WebCore::GraphicsContext::getCTM):
50863        (WebCore::GraphicsContext::fillPath):
50864        (WebCore::GraphicsContext::strokePath):
50865        (WebCore::GraphicsContext::fillRect):
50866        * platform/graphics/qt/ImageQt.cpp:
50867        (WebCore::Image::drawPattern):
50868        * platform/graphics/qt/PathQt.cpp:
50869        * platform/graphics/qt/PatternQt.cpp:
50870        (WebCore::Pattern::createPlatformPattern):
50871        * platform/graphics/skia/GradientSkia.cpp:
50872        (WebCore::Gradient::setPlatformGradientSpaceTransform):
50873        * platform/graphics/skia/GraphicsContextSkia.cpp:
50874        (WebCore::GraphicsContext::getCTM):
50875        * platform/graphics/skia/ImageSkia.cpp:
50876        (WebCore::Image::drawPattern):
50877        * platform/graphics/skia/PathSkia.cpp:
50878        * platform/graphics/skia/PatternSkia.cpp:
50879        (WebCore::Pattern::platformPattern):
50880        * platform/graphics/skia/SkiaFontWin.cpp:
50881        (WebCore::windowsCanHandleTextDrawing):
50882        * platform/graphics/transforms/AffineTransform.cpp:
50883        (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
50884        (WebCore::AffineTransform::scale): Didn't scale the complete matrix
50885        (WebCore::AffineTransform::translate): Didn't respect other transformations
50886        (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
50887        (WebCore::AffineTransform::map):
50888        (WebCore::AffineTransform::mapPoint):
50889        (WebCore::AffineTransform::mapRect):
50890        * platform/graphics/transforms/AffineTransform.h:
50891        (WebCore::AffineTransform::isIdentityOrTranslation):
50892        * platform/graphics/transforms/TransformationMatrix.cpp:
50893        (WebCore::TransformationMatrix::toAffineTransform):
50894        * platform/graphics/transforms/TransformationMatrix.h:
50895        * platform/graphics/win/FontCGWin.cpp:
50896        (WebCore::drawGDIGlyphs):
50897        * platform/graphics/win/GraphicsContextCGWin.cpp:
50898        * platform/graphics/win/GraphicsContextCairoWin.cpp:
50899        * platform/graphics/win/GraphicsContextWin.cpp:
50900        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50901        * platform/graphics/wince/FontWince.cpp:
50902        * platform/graphics/wince/GraphicsContextWince.cpp:
50903        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
50904        (WebCore::GraphicsContext::fillPath):
50905        (WebCore::GraphicsContext::strokePath):
50906        (WebCore::GraphicsContext::getCTM):
50907        (WebCore::GraphicsContext::drawBitmapPattern):
50908        * platform/graphics/wince/ImageBufferWince.cpp:
50909        (WebCore::):
50910        (WebCore::BufferedImage::drawPattern):
50911        * platform/graphics/wince/PathWince.cpp:
50912        (WebCore::Path::transform):
50913        * platform/graphics/wince/PlatformPathWince.cpp:
50914        (WebCore::drawPolygons):
50915        (WebCore::PathPolygon::transform):
50916        (WebCore::PlatformPathElement::transform):
50917        (WebCore::PlatformPath::strokePath):
50918        (WebCore::PlatformPath::fillPath):
50919        (WebCore::PlatformPath::transform):
50920        * platform/graphics/wince/PlatformPathWince.h:
50921        (WebCore::):
50922        * platform/graphics/wx/GraphicsContextWx.cpp:
50923        (WebCore::GraphicsContext::getCTM):
50924        * platform/graphics/wx/ImageWx.cpp:
50925        (WebCore::BitmapImage::drawPattern):
50926        (WebCore::Image::drawPattern):
50927        * platform/graphics/wx/PathWx.cpp:
50928        * platform/gtk/RenderThemeGtk.cpp:
50929        (WebCore::paintMozillaGtkWidget):
50930        * plugins/win/PluginViewWin.cpp:
50931        (WebCore::PluginView::paintWindowedPluginIntoContext):
50932        * rendering/RenderBox.cpp:
50933        (WebCore::RenderBox::localTransform):
50934        * rendering/RenderBox.h:
50935        * rendering/RenderBoxModelObject.cpp:
50936        (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
50937        (WebCore::RenderBoxModelScaleData::transform):
50938        (WebCore::RenderBoxModelScaleData::setTransform):
50939        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
50940        (WebCore::RenderBoxModelObject::paintBoxShadow):
50941        * rendering/RenderForeignObject.cpp:
50942        (WebCore::RenderForeignObject::translationForAttributes):
50943        (WebCore::RenderForeignObject::localToParentTransform):
50944        * rendering/RenderForeignObject.h:
50945        (WebCore::RenderForeignObject::localTransform):
50946        * rendering/RenderLayer.cpp:
50947        (WebCore::RenderLayer::paintLayer):
50948        * rendering/RenderObject.cpp:
50949        (WebCore::RenderObject::localTransform):
50950        (WebCore::RenderObject::localToParentTransform):
50951        (WebCore::RenderObject::absoluteTransform):
50952        * rendering/RenderObject.h:
50953        * rendering/RenderPath.cpp:
50954        (WebCore::RenderPath::localToParentTransform):
50955        (WebCore::RenderPath::localTransform):
50956        * rendering/RenderPath.h:
50957        * rendering/RenderSVGHiddenContainer.h:
50958        (WebCore::RenderSVGHiddenContainer::absoluteTransform):
50959        * rendering/RenderSVGImage.h:
50960        (WebCore::RenderSVGImage::localToParentTransform):
50961        (WebCore::RenderSVGImage::localTransform):
50962        * rendering/RenderSVGRoot.cpp:
50963        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
50964        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
50965        (WebCore::RenderSVGRoot::localToParentTransform):
50966        (WebCore::RenderSVGRoot::absoluteTransform):
50967        (WebCore::RenderSVGRoot::localTransform):
50968        * rendering/RenderSVGRoot.h:
50969        * rendering/RenderSVGText.h:
50970        (WebCore::RenderSVGText::localToParentTransform):
50971        (WebCore::RenderSVGText::localTransform):
50972        * rendering/RenderSVGTransformableContainer.cpp:
50973        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
50974        (WebCore::RenderSVGTransformableContainer::localTransform):
50975        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
50976        * rendering/RenderSVGTransformableContainer.h:
50977        * rendering/RenderSVGViewportContainer.cpp:
50978        (WebCore::RenderSVGViewportContainer::markerBoundaries):
50979        (WebCore::RenderSVGViewportContainer::markerContentTransformation):
50980        (WebCore::RenderSVGViewportContainer::viewportTransform):
50981        (WebCore::RenderSVGViewportContainer::localToParentTransform):
50982        (WebCore::RenderSVGViewportContainer::absoluteTransform):
50983        * rendering/RenderSVGViewportContainer.h:
50984        * rendering/SVGCharacterLayoutInfo.cpp:
50985        (WebCore::SVGChar::characterTransform):
50986        * rendering/SVGCharacterLayoutInfo.h:
50987        (WebCore::SVGTextChunkWalker::operator()):
50988        * rendering/SVGInlineTextBox.cpp:
50989        (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
50990        (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
50991        (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
50992        (WebCore::SVGInlineTextBox::paintCharacters):
50993        (WebCore::SVGInlineTextBox::paintDecoration):
50994        * rendering/SVGMarkerLayoutInfo.h:
50995        (WebCore::MarkerLayout::MarkerLayout):
50996        * rendering/SVGRenderSupport.cpp:
50997        (WebCore::applyTransformToPaintInfo):
50998        * rendering/SVGRenderSupport.h:
50999        * rendering/SVGRenderTreeAsText.cpp:
51000        (WebCore::operator<<):
51001        * rendering/SVGRenderTreeAsText.h:
51002        * rendering/SVGRootInlineBox.cpp:
51003        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
51004        (WebCore::applyTextLengthCorrectionToTextChunk):
51005        (WebCore::SVGRootInlineBox::buildLayoutInformation):
51006        * rendering/TransformState.cpp:
51007        (WebCore::TransformState::applyTransform):
51008        * rendering/TransformState.h:
51009        * svg/GradientAttributes.h:
51010        (WebCore::GradientAttributes::gradientTransform):
51011        (WebCore::GradientAttributes::setGradientTransform):
51012        * svg/PatternAttributes.h:
51013        (WebCore::PatternAttributes::patternTransform):
51014        (WebCore::PatternAttributes::setPatternTransform):
51015        * svg/SVGAnimateMotionElement.cpp:
51016        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
51017        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
51018        (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
51019        * svg/SVGAnimateMotionElement.h:
51020        * svg/SVGAnimateTransformElement.cpp:
51021        * svg/SVGAnimateTransformElement.h:
51022        * svg/SVGElement.h:
51023        (WebCore::SVGElement::supplementalTransform):
51024        * svg/SVGFitToViewBox.cpp:
51025        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
51026        * svg/SVGFitToViewBox.h:
51027        * svg/SVGLocatable.cpp:
51028        (WebCore::SVGLocatable::getCTM):
51029        (WebCore::SVGLocatable::getScreenCTM):
51030        (WebCore::SVGLocatable::getTransformToElement):
51031        * svg/SVGLocatable.h:
51032        * svg/SVGMarkerElement.cpp:
51033        (WebCore::SVGMarkerElement::viewBoxToViewTransform):
51034        * svg/SVGMarkerElement.h:
51035        * svg/SVGMaskElement.cpp:
51036        (WebCore::SVGMaskElement::drawMaskerContent):
51037        * svg/SVGMatrix.idl:
51038        * svg/SVGPatternElement.cpp:
51039        (WebCore::SVGPatternElement::buildPattern):
51040        * svg/SVGPreserveAspectRatio.cpp:
51041        (WebCore::SVGPreserveAspectRatio::getCTM):
51042        * svg/SVGPreserveAspectRatio.h:
51043        * svg/SVGSVGElement.cpp:
51044        (WebCore::SVGSVGElement::viewport):
51045        (WebCore::SVGSVGElement::createSVGMatrix):
51046        (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
51047        (WebCore::SVGSVGElement::getCTM):
51048        (WebCore::SVGSVGElement::getScreenCTM):
51049        (WebCore::SVGSVGElement::viewBoxToViewTransform):
51050        * svg/SVGSVGElement.h:
51051        * svg/SVGStyledLocatableElement.cpp:
51052        (WebCore::SVGStyledLocatableElement::getCTM):
51053        (WebCore::SVGStyledLocatableElement::getScreenCTM):
51054        * svg/SVGStyledLocatableElement.h:
51055        * svg/SVGStyledTransformableElement.cpp:
51056        (WebCore::SVGStyledTransformableElement::getCTM):
51057        (WebCore::SVGStyledTransformableElement::getScreenCTM):
51058        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
51059        (WebCore::SVGStyledTransformableElement::supplementalTransform):
51060        * svg/SVGStyledTransformableElement.h:
51061        (WebCore::SVGStyledTransformableElement::isStyledTransformable):
51062        (WebCore::SVGStyledTransformableElement::toPathData):
51063        * svg/SVGTextContentElement.cpp:
51064        (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
51065        * svg/SVGTextElement.cpp:
51066        (WebCore::SVGTextElement::getScreenCTM):
51067        (WebCore::SVGTextElement::getCTM):
51068        (WebCore::SVGTextElement::animatedLocalTransform):
51069        (WebCore::SVGTextElement::supplementalTransform):
51070        * svg/SVGTextElement.h:
51071        * svg/SVGTextPathElement.cpp:
51072        * svg/SVGTransform.cpp:
51073        (SVGTransform::SVGTransform):
51074        (SVGTransform::matrix):
51075        (SVGTransform::setMatrix):
51076        * svg/SVGTransform.h:
51077        * svg/SVGTransformDistance.cpp:
51078        (WebCore::SVGTransformDistance::SVGTransformDistance):
51079        (WebCore::SVGTransformDistance::scaledDistance):
51080        (WebCore::SVGTransformDistance::isZero):
51081        * svg/SVGTransformDistance.h:
51082        * svg/SVGTransformList.cpp:
51083        (SVGTransformList::createSVGTransformFromMatrix):
51084        (SVGTransformList::concatenate):
51085        (SVGTransformList::valueAsString):
51086        * svg/SVGTransformList.h:
51087        * svg/SVGTransformable.cpp:
51088        (WebCore::SVGTransformable::getCTM):
51089        (WebCore::SVGTransformable::getScreenCTM):
51090        (WebCore::SVGTransformable::parseTransformValue):
51091        * svg/SVGTransformable.h:
51092        (WebCore::SVGTransformable::):
51093        * svg/graphics/SVGPaintServerGradient.cpp:
51094        (WebCore::SVGPaintServerGradient::gradientTransform):
51095        (WebCore::SVGPaintServerGradient::setGradientTransform):
51096        (WebCore::clipToTextMask):
51097        (WebCore::SVGPaintServerGradient::setup):
51098        * svg/graphics/SVGPaintServerGradient.h:
51099        * svg/graphics/SVGPaintServerPattern.cpp:
51100        (WebCore::SVGPaintServerPattern::patternTransform):
51101        (WebCore::SVGPaintServerPattern::setPatternTransform):
51102        (WebCore::SVGPaintServerPattern::setup):
51103        * svg/graphics/SVGPaintServerPattern.h:
51104        * svg/graphics/SVGResourceClipper.cpp:
51105        (WebCore::SVGResourceClipper::applyClip):
51106        * svg/graphics/SVGResourceMarker.cpp:
51107        (WebCore::SVGResourceMarker::markerTransformation):
51108        (WebCore::SVGResourceMarker::draw):
51109        * svg/graphics/SVGResourceMarker.h:
51110        * svg/graphics/filters/SVGFEImage.cpp:
51111        * svg/graphics/filters/SVGFETile.cpp:
51112        (WebCore::FETile::apply):
51113
511142010-02-08  Stephen White  <senorblanco@chromium.org>
51115
51116        Reviewed by Dimitri Glazkov.
51117
51118        Make an inline function containing a static var out-of-line.  This is
51119        a workaround for Xcode 3.1 bug radar 7070016.  We tripped on this in
51120        deviceRGBColorSpaceRef on the Chromium canaries.  This is a proactive
51121        fix for the same problem in sRGBColorSpaceRef().
51122
51123        https://bugs.webkit.org/show_bug.cgi?id=34663
51124
51125        * platform/graphics/cg/GraphicsContextCG.cpp:
51126        (WebCore::sRGBColorSpaceRef):
51127        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51128
511292010-02-08  Nate Chapin  <japhet@chromium.org>
51130
51131        Reviewed by Dimitri Glazkov.
51132
51133        [V8] Unify the WorkerContext V8 object wrapping code with
51134        the standard V8 object wrapping code.
51135
51136        https://bugs.webkit.org/show_bug.cgi?id=34658
51137
51138        * bindings/scripts/CodeGeneratorV8.pm:
51139        * bindings/v8/V8DOMWrapper.cpp:
51140        (WebCore::V8DOMWrapper::instantiateV8Object):
51141        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
51142        * bindings/v8/V8WorkerContextEventListener.cpp:
51143        (WebCore::V8WorkerContextEventListener::handleEvent):
51144        (WebCore::V8WorkerContextEventListener::getReceiverObject):
51145        * bindings/v8/WorkerContextExecutionProxy.cpp:
51146        * bindings/v8/WorkerContextExecutionProxy.h:
51147        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
51148        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
51149        (WebCore::V8NotificationCenter::createNotificationCallback):
51150        * bindings/v8/custom/V8WorkerContextCustom.cpp:
51151        (WebCore::toV8):
51152
511532010-02-08  Kwang Yul Seo  <skyul@company100.net>
51154
51155        Reviewed by Darin Adler.
51156
51157        Use fastStrDup instead of strdup
51158        https://bugs.webkit.org/show_bug.cgi?id=33943
51159
51160        Replace strdup/free with fastStrDup/fastFree.
51161
51162        * bridge/IdentifierRep.h:
51163        (WebCore::IdentifierRep::IdentifierRep):
51164        * bridge/jni/JNIBridge.cpp:
51165        (JavaMethod::~JavaMethod):
51166        (appendClassName):
51167        (JavaMethod::signature):
51168        * bridge/jni/jsc/JavaClassJSC.cpp:
51169        (JavaClass::JavaClass):
51170        (JavaClass::~JavaClass):
51171        * platform/network/curl/ResourceHandleCurl.cpp:
51172        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
51173        * platform/network/curl/ResourceHandleManager.cpp:
51174        (WebCore::ResourceHandleManager::~ResourceHandleManager):
51175        (WebCore::ResourceHandleManager::setCookieJarFileName):
51176        (WebCore::ResourceHandleManager::initializeHandle):
51177        * plugins/PluginStream.cpp:
51178        (WebCore::PluginStream::~PluginStream):
51179        (WebCore::PluginStream::startStream):
51180        * xml/XSLTProcessorLibxslt.cpp:
51181        (WebCore::xsltParamArrayFromParameterMap):
51182        (WebCore::freeXsltParamArray):
51183
511842010-02-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
51185
51186        Reviewed by Simon Hausmann.
51187
51188        Fix Qt build on Windows.
51189
51190        nmake fails to pick the right cpp file, so we have to
51191        rename the file to to a unique name.
51192
51193        * WebCore.pro:
51194        * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
51195
511962010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
51197
51198        Reviewed by Dirk Schulze.
51199
51200        All SVG *-expected.txt files contain wrong results
51201        https://bugs.webkit.org/show_bug.cgi?id=34703
51202
51203        Finally dump meaningful information for SVG layout tests.
51204        Use 'absoluteClippedOverflowRect' which goes through the same code paths used
51205        to actually calculate repaint rects etc - instead of the legacy CSS-unaware
51206        code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
51207        Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
51208
51209        Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
51210        Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
51211        when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
51212
51213        As we're now dumping clipped overflow rects any problems with repaint rects will become
51214        immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
51215        element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
51216        Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
51217
51218        Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
51219
51220        * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
51221        * rendering/RenderObject.h: Remove absoluteTransform() method.
51222        * rendering/RenderSVGHiddenContainer.h: Ditto.
51223        * rendering/RenderSVGRoot.cpp:
51224        (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51225        (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
51226                                                         along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
51227        (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51228        * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
51229        * rendering/RenderSVGText.cpp: 
51230        (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
51231        * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
51232        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
51233        * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
51234        * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
51235        (WebCore::SVGRenderBase::isOverflowHidden):
51236        * rendering/SVGRenderSupport.h:
51237        * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
51238        (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
51239        * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
51240        (WebCore::absoluteTransformForRenderer):
51241        (WebCore::createMaskAndSwapContextForTextGradient):
51242        (WebCore::clipToTextMask):
51243        (WebCore::SVGPaintServerGradient::setup):
51244
512452010-02-07  Daniel Bates  <dbates@webkit.org>
51246
51247        Reviewed by Darin Adler.
51248
51249        https://bugs.webkit.org/show_bug.cgi?id=34402
51250
51251        Implements all of the numeric CSS3 list-style-types as per
51252        section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
51253
51254        Test: fast/lists/w3-css3-list-styles-numeric.html
51255
51256        * css/CSSPrimitiveValueMappings.h:
51257        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51258        * css/CSSValueKeywords.in:
51259        * inspector/front-end/SourceCSSTokenizer.re2js:
51260        * platform/text/CharacterNames.h: Added constant hyphenMinus.
51261        * rendering/RenderListMarker.cpp:
51262        (WebCore::): Defined enum SequenceType.
51263        (WebCore::toAlphabeticOrNumeric): Added.
51264        (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
51265        (WebCore::toNumeric): Added.
51266        (WebCore::listMarkerSuffix):
51267        (WebCore::listMarkerText):
51268        (WebCore::RenderListMarker::paint):
51269        (WebCore::RenderListMarker::calcPrefWidths):
51270        (WebCore::RenderListMarker::getRelativeMarkerRect):
51271        * rendering/style/RenderStyle.h:
51272        (WebCore::):
51273        * rendering/style/RenderStyleConstants.h: Added numeric list style types
51274        and fixed indent level for the enum values.
51275        (WebCore::):
51276
512772010-02-07  Ismail Donmez  <ismail@namtrac.org>
51278
51279        Reviewed by Darin Adler.
51280
51281        Include wtf/StringExtras.h for strdup definition, which
51282        is needed for WinCE.
51283
51284        * bridge/IdentifierRep.h:
51285
512862010-02-07  Pavel Feldman  <pfeldman@chromium.org>
51287
51288        Reviewed by Timothy Hatcher.
51289
51290        Web Inspector: Fragment-held Elements Not Shown in Inspector.
51291
51292        https://bugs.webkit.org/show_bug.cgi?id=34680
51293
51294        * inspector/InspectorDOMAgent.cpp:
51295        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
51296        (WebCore::InspectorDOMAgent::buildObjectForNode):
51297        * inspector/front-end/ElementsTreeOutline.js:
51298        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
51299
513002010-02-07  Jian Li  <jianli@chromium.org>
51301
51302        Reviewed by Darin Fisher.
51303
51304        [chromium] Change chromium interface to handle DownloadURL format.
51305        https://bugs.webkit.org/show_bug.cgi?id=34655
51306
51307        * platform/chromium/ChromiumDataObject.cpp:
51308        (WebCore::ChromiumDataObject::clear):
51309        (WebCore::ChromiumDataObject::hasData):
51310        (WebCore::ChromiumDataObject::ChromiumDataObject):
51311        * platform/chromium/ChromiumDataObject.h:
51312        * platform/chromium/ClipboardChromium.cpp:
51313        (WebCore::ClipboardChromium::setData):
51314
513152010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
51316
51317        No review, rolling out r54364.
51318        http://trac.webkit.org/changeset/54364
51319        https://bugs.webkit.org/show_bug.cgi?id=34464
51320
51321        Introduced asserts in layout tests, needs more testing
51322        locally.
51323
51324        * accessibility/chromium/AXObjectCacheChromium.cpp:
51325        (WebCore::AXObjectCache::postPlatformNotification):
51326        * page/chromium/ChromeClientChromium.h:
51327
513282010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
51329
51330        Reviewed by Adam Barth.
51331
51332        Using inlines and function-level statics don't mix, according to gcc.
51333        https://bugs.webkit.org/show_bug.cgi?id=34663
51334
51335        De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
51336
51337        It appears that the initialization check, generated by gcc doesn't account
51338        for a possibility that the function may be inlined, resulting in lazy
51339        initialization failure for more than one inlined instance of the function.
51340
51341        No behavior change, so no new tests.
51342
51343        * platform/graphics/cg/GraphicsContextCG.cpp:
51344        (WebCore::deviceRGBColorSpaceRef):
51345        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
51346
513472010-02-05  Geoffrey Garen  <ggaren@apple.com>
51348
51349        Reviewed by Dan Bernstein.
51350
51351        Added an ASSERT to catch an implausible but theoretically possible leak.
51352        
51353        In theory, if malloc allocated a UChar buffer directly after a StringImpl,
51354        the StringImpl might incorrecly assume that the UChar buffer was inline,
51355        and fail to delete it.
51356        
51357        This ASSERT is somewhat academic, since we don't use the same allocator
51358        in debug builds, but oh well.
51359
51360        * platform/text/StringImpl.cpp:
51361        (WebCore::StringImpl::StringImpl):
51362        (WebCore::StringImpl::createUninitialized):
51363        * platform/text/StringImpl.h: Separated the inline buffer StringImpl
51364        constructor from the out-of-line buffer StringImpl constructor. Made
51365        the former ASSERT that its buffer was indeed inline, and the latter ASSERT
51366        that its buffer was indeed not inline.
51367
513682010-02-05  Chris Marrin  <cmarrin@apple.com>
51369
51370        Reviewed by Simon Fraser.
51371
51372        Fixed changed virtual function in GraphicsLayerCACF and call order issues
51373        https://bugs.webkit.org/show_bug.cgi?id=34348
51374        
51375        The correct virtual function in GraphicsLayerCACF is now being
51376        called. We also fixed an issue in QTMovieWin where the size
51377        of the movie was not being set correctly because the call order
51378        was changed.
51379        
51380        I also changed the order of a couple of calls in QTMovieWin to account
51381        for changed calling order from the logic above.
51382
51383        * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
51384        (WebCore::GraphicsLayerCACF::setContentsToMedia):
51385        (WebCore::GraphicsLayerCACF::updateContentsMedia):
51386        * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
51387        (WebCore::GraphicsLayerCACF::):
51388        * platform/graphics/win/QTMovieWin.cpp:
51389        (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
51390        (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
51391        (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
51392        (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
51393
513942010-02-05  Enrica Casucci  <enrica@apple.com>
51395
51396        Reviewed by Simon Fraser.
51397
51398        Horizontal scrollbar works in reverse at milliondollarcu.be
51399        <rdar://problem/7556121>
51400        https://bugs.webkit.org/show_bug.cgi?id=33848
51401        
51402        Added a manual test.
51403
51404        * manual-tests/win: Added.
51405        * manual-tests/win/horizontal-scroll-composited.html: Added.
51406        * platform/graphics/win/WKCACFLayerRenderer.cpp:
51407        (WebCore::WKCACFLayerRenderer::setScrollFrame):
51408        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
51409
514102010-02-05  Ryan Leavengood  <leavengood@gmail.com>
51411
51412        Reviewed by David Levin.
51413
51414        Implementation of GlyphPage::fill() for Haiku port.
51415        https://bugs.webkit.org/show_bug.cgi?id=34527
51416
51417        Covered by existing tests.
51418
51419        * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
51420
514212010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51422
51423        Reviewed by Dave Hyatt.
51424
51425        Implement flattening of framesets
51426        https://bugs.webkit.org/show_bug.cgi?id=32717
51427
51428        The following patch, builds ontop of Antti Koivisto's frameset
51429        flattening code from the iPhone source, which itself is based on
51430        the old Nokia Series 60 source.
51431
51432        Layout tests have been added to test the functionality and the original
51433        code which has then been fixed to make these pass, as well as support
51434        frameset grids.
51435
51436        Tests: fast/frames/flattening/frameset-flattening-advanced.html
51437               fast/frames/flattening/frameset-flattening-grid.html
51438               fast/frames/flattening/frameset-flattening-simple.html
51439               fast/frames/flattening/frameset-flattening-subframe-resize.html
51440               fast/frames/flattening/frameset-flattening-subframesets.html
51441
51442        * page/FrameView.cpp:
51443        (WebCore::FrameView::layout):
51444        (WebCore::FrameView::scheduleRelayout):
51445        * page/Settings.cpp:
51446        (WebCore::Settings::Settings):
51447        (WebCore::Settings::setFrameSetFlatteningEnabled):
51448        * page/Settings.h:
51449        (WebCore::Settings::frameSetFlatteningEnabled):
51450        * rendering/RenderFrame.cpp:
51451        (WebCore::RenderFrame::layoutWithFlattening):
51452        * rendering/RenderFrame.h:
51453        * rendering/RenderFrameSet.cpp:
51454        (WebCore::RenderFrameSet::layout):
51455        (WebCore::RenderFrameSet::positionFramesWithFlattening):
51456        (WebCore::RenderFrameSet::flattenFrameSet):
51457        (WebCore::RenderFrameSet::userResize):
51458        * rendering/RenderFrameSet.h:
51459
514602010-02-05  Simon Fraser  <simon.fraser@apple.com>
51461
51462        Reviewed by Dan Bernstein.
51463
51464        Changing display type of parent of input on focus causes input field to not receive key events
51465        https://bugs.webkit.org/show_bug.cgi?id=34620
51466        <rdar://problem/7584572>
51467        
51468        When layout affects a text input, the RenderTextControl gets destroyed and
51469        recreated, which in turn makes a new innerTextElement. However, if the text field was
51470        focused, the VisibleSelection is left pointing to the old innerTextElement, so text
51471        input no longer works.
51472        
51473        The fix is to call updateFocusAppearanceSoon() when attaching the input element,
51474        which will update the selection if necessary.
51475
51476        Test: fast/forms/restore-selection-after-layout.html
51477
51478        * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
51479        m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
51480        * dom/Document.cpp:
51481        (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
51482        (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
51483        (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
51484        * dom/Element.cpp:
51485        (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
51486        * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
51487        * html/HTMLInputElement.cpp:
51488        (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
51489
514902010-02-05  Pavel Feldman  <pfeldman@chromium.org>
51491
51492        Reviewed by Timothy Hatcher.
51493
51494        Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
51495
51496        https://bugs.webkit.org/show_bug.cgi?id=34646
51497
51498        * inspector/front-end/CookieItemsView.js:
51499        (WebInspector.CookieItemsView):
51500        (WebInspector.CookieItemsView.prototype.show):
51501        (WebInspector.CookieItemsView.prototype._update):
51502        (WebInspector.CookieItemsView.prototype._updateWithCookies):
51503        (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
51504        (WebInspector.CookieItemsView.prototype._createDataGrid):
51505        (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
51506        (WebInspector.CookieItemsView.prototype._populateDataGrid):
51507        (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
51508        (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
51509        (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
51510        (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
51511        * inspector/front-end/DOMStorageItemsView.js:
51512        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
51513        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
51514        * inspector/front-end/DataGrid.js:
51515        (WebInspector.DataGrid):
51516        (WebInspector.DataGrid.prototype.autoSizeColumns):
51517        * inspector/front-end/DatabaseQueryView.js:
51518        (WebInspector.DatabaseQueryView.prototype._queryFinished):
51519        * inspector/front-end/DatabaseTableView.js:
51520        (WebInspector.DatabaseTableView.prototype._queryFinished):
51521        * inspector/front-end/StoragePanel.js:
51522        (WebInspector.StoragePanel.prototype.dataGridForResult):
51523
515242010-02-04  Pavel Feldman  <pfeldman@chromium.org>
51525
51526        Reviewed by Timothy Hatcher.
51527
51528        Web Inspector: group cookies by frame, show total
51529        cookies size, allow sorting cookie table.
51530
51531        https://bugs.webkit.org/show_bug.cgi?id=34617
51532
51533        * English.lproj/localizedStrings.js:
51534        * inspector/InspectorController.cpp:
51535        (WebCore::InspectorController::deleteCookie):
51536        * inspector/front-end/CookieItemsView.js:
51537        (WebInspector.CookieItemsView):
51538        (WebInspector.CookieItemsView.prototype.update):
51539        (WebInspector.CookieItemsView.prototype._updateWithCookies):
51540        (WebInspector.CookieItemsView.prototype._cookiesForDomain):
51541        (WebInspector.CookieItemsView.prototype.dataGridForCookies):
51542        (WebInspector.CookieItemsView.prototype._createNodes):
51543        (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
51544        (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
51545        (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
51546        (WebInspector.CookieItemsView.prototype._sortData):
51547        * inspector/front-end/StoragePanel.js:
51548        (WebInspector.StoragePanel.prototype.showCookies):
51549        (WebInspector.CookieSidebarTreeElement):
51550        (WebInspector.CookieSidebarTreeElement.prototype.onselect):
51551        (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
51552        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
51553        * inspector/front-end/inspector.js:
51554        (WebInspector.updateResource):
51555
515562010-02-05  Maxime Simone  <simon.maxime@gmail.com>
51557
51558        Reviewed by David Levin.
51559
51560        More robust conversion from BString to String for Haiku port.
51561        https://bugs.webkit.org/show_bug.cgi?id=34527
51562
51563        Covered by existing tests.
51564
51565        * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
51566
515672010-02-05  Steve Falkenburg  <sfalken@apple.com>
51568
51569        Reviewed by Adam Roben.
51570
51571        Windows build fix.
51572
51573        * WebCore.vcproj/WebCore.make:
51574
515752010-02-05  Csaba Osztrogonác  <ossy@webkit.org>
51576
51577        Reviewed by Dirk Schulze.
51578        Rubber-stamped by Kenneth Rohde Christiansen.
51579
51580        [Qt] Modifying SVG path dumping to equal to other ports
51581        https://bugs.webkit.org/show_bug.cgi?id=33784
51582
51583        * platform/graphics/qt/PathQt.cpp:
51584        (WebCore::Path::debugString): Path dumping style is aproached to Mac.
51585
515862010-02-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
51587
51588        Reviewed by Gustavo Noronha.
51589
51590        Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
51591        https://bugs.webkit.org/show_bug.cgi?id=34317
51592
51593        * GNUmakefile.am:
51594        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
51595        (WebCore::mediaPlayerPrivateSourceChangedCallback):
51596        (WebCore::doGstInit):
51597        * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
51598        * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
51599        Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
51600        This makes sure that referer, cookies, authentication information
51601        and all kinds of other context are passed to GStreamer for websites
51602        like Vimeo or YouTube.
51603
516042010-02-05  Nate Chapin  <japhet@chromium.org>
51605
51606        Reviewed by Dimitri Glazkov.
51607
51608        [V8] Clean up code for getting a v8::FunctionTemplate.
51609        
51610        https://bugs.webkit.org/show_bug.cgi?id=34606
51611
51612        * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
51613        * bindings/v8/V8Binding.cpp:
51614        (WebCore::configureTemplate):
51615        * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
51616        (WebCore::V8DOMWrapper::getConstructor):
51617        (WebCore::V8DOMWrapper::instantiateV8Object):
51618        * bindings/v8/V8DOMWrapper.h:
51619        (WebCore::V8DOMWrapper::lookupDOMWrapper):
51620        * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
51621        (WebCore::V8ClassIndex::getTemplate):
51622        * bindings/v8/V8Index.h:
51623        * bindings/v8/WorkerContextExecutionProxy.cpp:
51624        (WebCore::WorkerContextExecutionProxy::toV8):
51625        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
51626        (WebCore::v8HTMLAudioElementConstructorCallback):
51627        (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
51628        * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
51629        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
51630        (WebCore::v8HTMLImageElementConstructorCallback):
51631        (WebCore::V8HTMLImageElementConstructor::GetTemplate):
51632        * bindings/v8/custom/V8HTMLImageElementConstructor.h:
51633        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
51634        (WebCore::v8HTMLOptionElementConstructorCallback):
51635        (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
51636        * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
51637        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51638        (WebCore::createInjectedScriptHostV8Wrapper):
51639
516402010-02-05  Siddharth Mathur  <siddharth.mathur@nokia.com>
51641
51642        Reviewed by Ariya Hidayat.
51643
51644        [Qt] Build break in QtWebkit on Symbian
51645        https://bugs.webkit.org/show_bug.cgi?id=34597
51646
51647        * plugins/PluginView.h:
51648
516492010-02-05  Yury Semikhatsky  <yurys@chromium.org>
51650
51651        Reviewed by Pavel Feldman.
51652
51653        - Use SerializedScriptValue for passing data between injected script and
51654        inspector frontend.
51655        - Remove custom JSON implementation from the instpector utility script.
51656        - Make sure that only objects created in the same ScriptState can be values
51657        of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
51658        want ScriptObjects to leak between contexts.
51659        - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
51660        it as additional parameter.
51661
51662        https://bugs.webkit.org/show_bug.cgi?id=33592
51663
51664        * bindings/js/JSInjectedScriptHostCustom.cpp:
51665        (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
51666        * bindings/js/ScriptArray.cpp:
51667        (WebCore::ScriptArray::set):
51668        * bindings/js/ScriptFunctionCall.cpp:
51669        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
51670        (WebCore::ScriptFunctionCall::appendArgument):
51671        * bindings/js/ScriptFunctionCall.h:
51672        * bindings/js/ScriptObject.cpp:
51673        (WebCore::ScriptObject::set):
51674        * bindings/js/ScriptValue.cpp:
51675        (WebCore::ScriptValue::serialize):
51676        (WebCore::ScriptValue::deserialize):
51677        * bindings/js/ScriptValue.h:
51678        * bindings/v8/ScriptArray.cpp:
51679        (WebCore::ScriptArray::set):
51680        * bindings/v8/ScriptFunctionCall.cpp:
51681        (WebCore::ScriptFunctionCall::ScriptFunctionCall):
51682        (WebCore::ScriptFunctionCall::appendArgument):
51683        * bindings/v8/ScriptFunctionCall.h:
51684        * bindings/v8/ScriptObject.cpp:
51685        (WebCore::ScriptObject::set):
51686        * bindings/v8/ScriptState.h:
51687        * bindings/v8/ScriptValue.cpp:
51688        (WebCore::ScriptValue::serialize):
51689        (WebCore::deserialize):
51690        * bindings/v8/ScriptValue.h:
51691        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
51692        (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
51693        * inspector/InjectedScript.cpp:
51694        (WebCore::InjectedScript::dispatch):
51695        (WebCore::InjectedScript::callFrames):
51696        (WebCore::InjectedScript::wrapForConsole):
51697        (WebCore::InjectedScript::releaseWrapperObjectGroup):
51698        * inspector/InjectedScript.h:
51699        * inspector/InjectedScriptHost.cpp:
51700        (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
51701        * inspector/InjectedScriptHost.h:
51702        * inspector/InjectedScriptHost.idl:
51703        * inspector/InspectorBackend.cpp:
51704        (WebCore::InspectorBackend::dispatchOnInjectedScript):
51705        * inspector/InspectorController.cpp:
51706        (WebCore::InspectorController::setFrontendProxyObject):
51707        (WebCore::InspectorController::didPause):
51708        (WebCore::InspectorController::didEvaluateForTestInFrontend):
51709        * inspector/InspectorFrontend.cpp:
51710        (WebCore::InspectorFrontend::InspectorFrontend):
51711        (WebCore::InspectorFrontend::newScriptArray):
51712        (WebCore::InspectorFrontend::newScriptObject):
51713        (WebCore::InspectorFrontend::populateFrontendSettings):
51714        (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
51715        (WebCore::InspectorFrontend::addConsoleMessage):
51716        (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
51717        (WebCore::InspectorFrontend::updateResource):
51718        (WebCore::InspectorFrontend::removeResource):
51719        (WebCore::InspectorFrontend::didGetResourceContent):
51720        (WebCore::InspectorFrontend::updateFocusedNode):
51721        (WebCore::InspectorFrontend::setAttachedWindow):
51722        (WebCore::InspectorFrontend::addRecordToTimeline):
51723        (WebCore::InspectorFrontend::parsedScriptSource):
51724        (WebCore::InspectorFrontend::failedToParseScriptSource):
51725        (WebCore::InspectorFrontend::addProfileHeader):
51726        (WebCore::InspectorFrontend::setRecordingProfile):
51727        (WebCore::InspectorFrontend::didGetProfileHeaders):
51728        (WebCore::InspectorFrontend::didGetProfile):
51729        (WebCore::InspectorFrontend::pausedScript):
51730        (WebCore::InspectorFrontend::setDocument):
51731        (WebCore::InspectorFrontend::setDetachedRoot):
51732        (WebCore::InspectorFrontend::setChildNodes):
51733        (WebCore::InspectorFrontend::childNodeCountUpdated):
51734        (WebCore::InspectorFrontend::childNodeInserted):
51735        (WebCore::InspectorFrontend::childNodeRemoved):
51736        (WebCore::InspectorFrontend::attributesUpdated):
51737        (WebCore::InspectorFrontend::didRemoveNode):
51738        (WebCore::InspectorFrontend::didGetChildNodes):
51739        (WebCore::InspectorFrontend::didApplyDomChange):
51740        (WebCore::InspectorFrontend::didGetEventListenersForNode):
51741        (WebCore::InspectorFrontend::didGetCookies):
51742        (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
51743        (WebCore::InspectorFrontend::addDatabase):
51744        (WebCore::InspectorFrontend::selectDatabase):
51745        (WebCore::InspectorFrontend::didGetDatabaseTableNames):
51746        (WebCore::InspectorFrontend::addDOMStorage):
51747        (WebCore::InspectorFrontend::selectDOMStorage):
51748        (WebCore::InspectorFrontend::didGetDOMStorageEntries):
51749        (WebCore::InspectorFrontend::didSetDOMStorageItem):
51750        (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
51751        (WebCore::InspectorFrontend::updateDOMStorage):
51752        (WebCore::InspectorFrontend::addNodesToSearchResult):
51753        (WebCore::InspectorFrontend::contextMenuItemSelected):
51754        (WebCore::InspectorFrontend::evaluateForTestInFrontend):
51755        (WebCore::InspectorFrontend::callSimpleFunction):
51756        * inspector/InspectorFrontend.h:
51757        (WebCore::InspectorFrontend::scriptState):
51758        * inspector/front-end/InjectedScript.js:
51759        (injectedScriptConstructor):
51760        (injectedScriptConstructor.):
51761        * inspector/front-end/InjectedScriptAccess.js:
51762        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
51763        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
51764        (InjectedScriptAccess._installHandler):
51765        * inspector/front-end/inspector.js:
51766        (WebInspector.pausedScript):
51767        (WebInspector.addConsoleMessage):
51768
517692010-02-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
51770
51771        Reviewed by Simon Hausmann.
51772
51773        [Qt] Generate convenience headers (QWebView, etc) using qmake
51774
51775        In Qt this is done using syncqt, but we use a pro-file instead
51776        that generates makefile-rules for each of the extra headers.
51777
51778        These extra headers are installed alongside the normal headers.
51779
51780        * WebCore.pro: Use headers.pri based on DerivedSources instead
51781        of the one previously checked in in the source tree.
51782
517832010-02-05  Mikhail Naganov  <mnaganov@chromium.org>
51784
51785        Reviewed by Pavel Feldman.
51786
51787        Enable JAVASCRIPT_DEBUGGER in chromium port.
51788
51789        https://bugs.webkit.org/show_bug.cgi?id=34638
51790
51791        * page/Console.cpp:
51792        * page/Console.h:
51793        * page/Console.idl:
51794
517952010-02-05  Pavel Feldman  <pfeldman@chromium.org>
51796
51797        Reviewed by Timothy Hatcher.
51798
51799        Web Inspector: Tab width for javascript source is 8, should be 4
51800
51801        https://bugs.webkit.org/show_bug.cgi?id=31248
51802
51803        * inspector/front-end/SourceFrame.js:
51804        (WebInspector.SourceFrame):
51805        * inspector/front-end/TextEditorModel.js:
51806        (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
51807        (WebInspector.TextEditorModel.prototype._innerSetText):
51808        (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
51809
518102010-02-05  Tony Chang  <tony@chromium.org>
51811
51812        Reviewed by Eric Seidel.
51813
51814        https://bugs.webkit.org/show_bug.cgi?id=24872
51815        When pasting a list into another list should not indent another level.
51816        If the cursor is at the beginning of the line, it should insert the
51817        list items before the current list item.  If the cursor is at the end
51818        of the line, it should insert the list items after the current list item.
51819
51820        This matches Firefox and IE and makes the common activity of reordering a list
51821        work as expected.
51822
51823        This also adds a small helper method (isListItem) to htmlediting.h.
51824
51825        Test: editing/pasteboard/paste-list-002.html
51826
51827        * editing/ReplaceSelectionCommand.cpp:
51828        (WebCore::ReplaceSelectionCommand::doApply):
51829        (WebCore::ReplaceSelectionCommand::insertAsListItems):
51830        * editing/ReplaceSelectionCommand.h:
51831        * editing/htmlediting.cpp:
51832        (WebCore::isListItem):
51833        (WebCore::appendedSublist):
51834        * editing/htmlediting.h:
51835
518362010-02-04  Mark Rowe  <mrowe@apple.com>
51837
51838        Reviewed by Timothy Hatcher.
51839
51840        Build fix.  Remove a symbol corresponding to an inline function from the linker export
51841        file to prevent a weak external failure.
51842
51843        * WebCore.base.exp: Remove symbol.
51844        * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
51845
518462010-02-04  Geoffrey Garen  <ggaren@apple.com>
51847
51848        Reviewed by Oliver Hunt.
51849
51850        Updated to use new WeakGCPtr::clear interface.
51851
51852        * bindings/js/JSEventListener.cpp:
51853        * bindings/js/JSEventListener.h:
51854        (WebCore::JSEventListener::invalidateJSFunction):
51855
518562010-02-04  Geoffrey Garen  <ggaren@apple.com>
51857
51858        Build fix: Added a forwarding header.
51859
51860        * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
51861
518622010-02-04  Geoffrey Garen  <ggaren@apple.com>
51863
51864        Reviewed by Alexey Proskuryakov and Darin Adler.
51865
51866        REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
51867        https://bugs.webkit.org/show_bug.cgi?id=33383
51868        <rdar://problem/7559449>
51869        
51870        There were two bugs here:
51871        
51872        1. A stale wrapper would invalidate a node's event listeners, even if
51873        the node had a fresh wrapper keeping it alive.
51874        
51875        The fix for this is for an event listener to keep a WeakGCPtr back-pointer
51876        to the wrapper it expects to mark it. The wrapper destructor checks this
51877        back-pointer, and only invalidates the event listener in the case of a match.
51878
51879        2. Conversely, a stale wrapper would not invalidate a node's event
51880        listeners soon enough, if its destructor didn't have a chance to run
51881        before an event fired on the node. (This can only happen in cases where
51882        we've made some other error and failed to mark a wrapper that was circuitously
51883        observable in the DOM. But we know we have edge case bugs like this, and
51884        we don't want them to be crashes.)
51885        
51886        The fix for this is to check the wrapper back-pointer before firing the
51887        event listener. As long as the the wrapper back-pointer is not null,
51888        it's safe to fire the listener. 
51889
51890        * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
51891
51892        * bindings/js/JSAbstractWorkerCustom.cpp:
51893        (WebCore::JSAbstractWorker::addEventListener):
51894        (WebCore::JSAbstractWorker::removeEventListener):
51895        * bindings/js/JSDOMApplicationCacheCustom.cpp:
51896        (WebCore::JSDOMApplicationCache::addEventListener):
51897        (WebCore::JSDOMApplicationCache::removeEventListener):
51898        * bindings/js/JSDOMWindowCustom.cpp:
51899        (WebCore::JSDOMWindow::markChildren):
51900        (WebCore::JSDOMWindow::addEventListener):
51901        (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
51902        to the JSEventListener constructor.
51903
51904        * bindings/js/JSEventListener.cpp:
51905        (WebCore::JSEventListener::JSEventListener):
51906        (WebCore::JSEventListener::initializeJSFunction):
51907        (WebCore::JSEventListener::invalidateJSFunction):
51908        * bindings/js/JSEventListener.h:
51909        (WebCore::JSEventListener::create):
51910        (WebCore::JSEventListener::isolatedWorld):
51911        (WebCore::JSEventListener::wrapper):
51912        (WebCore::JSEventListener::setWrapper):
51913        (WebCore::JSEventListener::jsFunction):
51914        (WebCore::createJSAttributeEventListener): Implemented the back-pointer
51915        described above. Refactored the jsFunction() accessor to return 0 if
51916        the wrapper back-pointer is 0.
51917
51918        * bindings/js/JSEventSourceCustom.cpp:
51919        (WebCore::JSEventSource::addEventListener):
51920        (WebCore::JSEventSource::removeEventListener):
51921        * bindings/js/JSLazyEventListener.cpp:
51922        (WebCore::JSLazyEventListener::JSLazyEventListener):
51923        (WebCore::JSLazyEventListener::initializeJSFunction):
51924        * bindings/js/JSLazyEventListener.h:
51925        (WebCore::JSLazyEventListener::create):
51926        * bindings/js/JSMessagePortCustom.cpp:
51927        (WebCore::JSMessagePort::markChildren):
51928        (WebCore::JSMessagePort::addEventListener):
51929        (WebCore::JSMessagePort::removeEventListener):
51930        * bindings/js/JSNodeCustom.cpp:
51931        (WebCore::JSNode::addEventListener):
51932        (WebCore::JSNode::removeEventListener):
51933        (WebCore::JSNode::markChildren):
51934        * bindings/js/JSSVGElementInstanceCustom.cpp:
51935        (WebCore::JSSVGElementInstance::addEventListener):
51936        (WebCore::JSSVGElementInstance::removeEventListener):
51937        * bindings/js/JSWebSocketCustom.cpp:
51938        (WebCore::JSWebSocket::addEventListener):
51939        (WebCore::JSWebSocket::removeEventListener):
51940        * bindings/js/JSWorkerContextCustom.cpp:
51941        (WebCore::JSWorkerContext::markChildren):
51942        (WebCore::JSWorkerContext::addEventListener):
51943        (WebCore::JSWorkerContext::removeEventListener):
51944        * bindings/js/JSXMLHttpRequestCustom.cpp:
51945        (WebCore::JSXMLHttpRequest::markChildren):
51946        (WebCore::JSXMLHttpRequest::addEventListener):
51947        (WebCore::JSXMLHttpRequest::removeEventListener):
51948        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
51949        (WebCore::JSXMLHttpRequestUpload::markChildren):
51950        (WebCore::JSXMLHttpRequestUpload::addEventListener):
51951        (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
51952        to the JSEventListener constructor.
51953
51954
51955        * bindings/js/ScriptEventListener.cpp:
51956        (WebCore::createAttributeEventListener): Updated to pass a wrapper
51957        to the JSEventListener constructor.
51958        (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
51959        is no longer a virtual accessor on the EventHandler base class.
51960
51961        * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
51962        is no longer a virtual accessor on the EventHandler base class. Added a "JS"
51963        to invalidateEventListeners and markEventListeners to clarify that these
51964        actions are for JS event listeners only. Added a wrapper parameter to
51965        invalidateEventListeners for the back-pointer check explained above.
51966
51967        * dom/EventListener.h:
51968        (WebCore::EventListener::invalidateJSFunction): ditto
51969
51970        * dom/EventTarget.h:
51971        (WebCore::EventTarget::markJSEventListeners):
51972        (WebCore::EventTarget::invalidateJSEventListeners): ditto
51973
519742010-02-04  Tony Chang  <tony@chromium.org>
51975
51976        Reviewed by Eric Seidel.
51977
51978        https://bugs.webkit.org/show_bug.cgi?id=25002
51979        When inserting a new paragraph, avoid nesting empty divs.  When
51980        pasting near the end of a paragraph, this prevents each paste
51981        command for getting nested one level deeper.
51982
51983        Test: editing/inserting/paragraph-outside-nested-divs.html
51984
51985        * editing/InsertParagraphSeparatorCommand.cpp:
51986        (WebCore::highestVisuallyEquivalentDiv):
51987        (WebCore::InsertParagraphSeparatorCommand::doApply):
51988
519892010-02-04  Dumitru Daniliuc  <dumi@chromium.org>
51990
51991        Reviewed by Eric Seidel.
51992
51993        1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
51994        succeeds.
51995        2. Jump straight to the transaction error callback when a
51996        statement fails in a way that makes sqlite automatically rollback
51997        the transaction.
51998        3. Fix the code that handles the "quota reached" failure, as it is
51999        one of the failures that lead to an automatic transaction
52000        rollback.
52001
52002        https://bugs.webkit.org/show_bug.cgi?id=34280
52003
52004        * platform/sql/SQLiteDatabase.cpp:
52005        (WebCore::SQLiteDatabase::isAutoCommitOn):
52006        * platform/sql/SQLiteDatabase.h:
52007        * platform/sql/SQLiteTransaction.cpp:
52008        (WebCore::SQLiteTransaction::begin):
52009        (WebCore::SQLiteTransaction::commit):
52010        (WebCore::SQLiteTransaction::rollback):
52011        (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
52012        * platform/sql/SQLiteTransaction.h:
52013        * storage/SQLTransaction.cpp:
52014        (WebCore::SQLTransaction::SQLTransaction):
52015        (WebCore::SQLTransaction::runStatements):
52016        (WebCore::SQLTransaction::runCurrentStatement):
52017        (WebCore::SQLTransaction::handleCurrentStatementError):
52018        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
52019
520202010-02-04  Peter Kasting  <pkasting@google.com>
52021
52022        Not reviewed, rollback.
52023
52024        Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
52025
52026        * platform/chromium/ScrollbarThemeChromiumMac.h:
52027
520282010-02-04  Stephen White  <senorblanco@chromium.org>
52029
52030        Unreviewed, build fix.
52031
52032        Fix for Chromium/Mac after palindromic scrollbar change (54345).
52033
52034        Covered by many layout tests.
52035
52036        * platform/chromium/ScrollbarThemeChromiumMac.h:
52037        (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
52038
520392010-02-04  Clemmitt Sigler  <cmsigler@gmail.com>
52040
52041        Reviewed by David Levin.
52042
52043        WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
52044        Updated WebCore/GNUmakefile.am to include needed files in build.
52045        
52046        https://bugs.webkit.org/show_bug.cgi?id=34387
52047
52048        No new tests.
52049
52050        * GNUmakefile.am:
52051
520522010-02-04  Stephan Aßmus  <superstippi@gmx.de>
52053
52054        Reviewed by David Levin.
52055
52056        Misc coding style fixes in Haiku port code.
52057        https://bugs.webkit.org/show_bug.cgi?id=34527
52058
52059        No tests needed.
52060
52061        * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
52062        * platform/haiku/DragImageHaiku.cpp: Trailing white space.
52063        * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
52064        * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
52065
520662010-02-04  Enrica Casucci  <enrica@apple.com>
52067
52068        Reviewed by Csaba Osztrogonac.
52069
52070        Fixed crash on QT introduced with the fix for
52071        https://bugs.webkit.org/show_bug.cgi?id=34609
52072
52073        The test has been added with the original patch.
52074        
52075        * platform/qt/ClipboardQt.cpp:
52076        (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
52077
520782010-02-04  Christian Dywan  <christian@twotoasts.de>
52079
52080        Reviewed by Xan Lopez.
52081
52082        Conditionalize third party cookie policy for libsoup 2.29.90.
52083
52084        * platform/network/soup/CookieJarSoup.cpp:
52085        (WebCore::setCookies):
52086        * platform/network/soup/DNSSoup.cpp:
52087        (WebCore::prefetchDNS):
52088        * platform/network/soup/ResourceHandleSoup.cpp:
52089        (WebCore::restartedCallback):
52090        (WebCore::startHttp):
52091        * platform/network/soup/ResourceRequestSoup.cpp:
52092        (WebCore::ResourceRequest::toSoupMessage):
52093        (WebCore::ResourceRequest::updateFromSoupMessage):
52094
520952010-02-04  Christian Dywan  <christian@twotoasts.de>
52096
52097        Rubber-stamped by Gustavo Noronha Silva.
52098
52099        Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
52100
52101        * platform/gtk/GOwnPtrGtk.cpp:
52102
521032010-02-04  Alexey Proskuryakov  <ap@apple.com>
52104
52105        Reviewed by Darin Adler.
52106
52107        Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
52108        https://bugs.webkit.org/show_bug.cgi?id=34520
52109
52110        Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
52111
52112        * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
52113        properties before attributes. Otherwise, copying "checked" attribute would make the cloned
52114        node checked, unchecking original (they share a name, and are thus in the same radio group).
52115        We do want the original to be unchecked, but we also want to know its original state in
52116        HTMLInputElement::copyNonAttributeProperties().
52117
52118        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
52119        Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
52120        checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
52121        won't be overridden when copying attributes.
52122
521232010-02-04  Kevin Ollivier  <kevino@theolliviers.com>
52124
52125        [wx] Build fix after addition of Clipboard::writePlainText method.
52126
52127        * platform/wx/ClipboardWx.cpp:
52128        (WebCore::ClipboardWx::writePlainText):
52129        * platform/wx/ClipboardWx.h:
52130
521312010-02-04  Enrica Casucci  <enrica@apple.com>
52132
52133        Reviewed by Oliver Hunt.
52134
52135        REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
52136        <rdar://problem/7595685>
52137        https://bugs.webkit.org/show_bug.cgi?id=34609
52138
52139        Test: editing/pasteboard/drop-inputtext-acquires-style.html
52140
52141        The dragging code did not distinguish the case of dragging the content of an input control
52142        as a special case. The markup placed in the pasteboard included the style information.
52143        I've modified the Clipboard class interface adding a new method writePlainText to match the
52144        behavior of the copy and cut commands and modified the drag code to detect the special case.
52145        I've modified all the platform specific implementations of the Clipboard class.
52146        
52147        * dom/Clipboard.h: Added writePlainText pure virtual function.
52148        * editing/Editor.cpp:
52149        (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
52150        (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
52151        * editing/htmlediting.cpp:
52152        (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
52153        in Editor.cpp
52154        * editing/htmlediting.h:
52155        * page/DragController.cpp:
52156        (WebCore::DragController::startDrag):
52157        * platform/Pasteboard.h:
52158        * platform/android/ClipboardAndroid.cpp:
52159        (WebCore::ClipboardAndroid::writePlainText): Added.
52160        * platform/android/ClipboardAndroid.h:
52161        * platform/chromium/ClipboardChromium.cpp:
52162        (WebCore::ClipboardChromium::writePlainText): Added.
52163        * platform/chromium/ClipboardChromium.h:
52164        * platform/gtk/ClipboardGtk.cpp:
52165        (WebCore::ClipboardGtk::writePlainText): Added.
52166        * platform/gtk/ClipboardGtk.h:
52167        * platform/haiku/ClipboardHaiku.cpp:
52168        (WebCore::ClipboardHaiku::writePlainText): Added.
52169        * platform/haiku/ClipboardHaiku.h:
52170        * platform/mac/ClipboardMac.h:
52171        * platform/mac/ClipboardMac.mm:
52172        (WebCore::ClipboardMac::writePlainText): Added.
52173        * platform/mac/PasteboardMac.mm:
52174        (WebCore::Pasteboard::writePlainText): Added helper function.
52175        * platform/qt/ClipboardQt.cpp:
52176        (WebCore::ClipboardQt::writePlainText): Added.
52177        * platform/qt/ClipboardQt.h:
52178        * platform/win/ClipboardWin.cpp:
52179        (WebCore::ClipboardWin::writePlainText): Added.
52180        * platform/win/ClipboardWin.h:
52181
521822010-02-04  Steve Block  <steveblock@google.com>
52183
52184        Reviewed by Nate Chapin.
52185
52186        Fix bug in V8 convertNPVariantToJValue when converting float and double types
52187        https://bugs.webkit.org/show_bug.cgi?id=34593
52188
52189        No new tests, build fix only.
52190
52191        * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
52192        (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
52193
521942010-02-04  Chris Guillory  <chris.guillory@google.com>
52195
52196        Reviewed by Darin Fisher.
52197
52198        [Chromium] Notify ChromeClientChromium of AccessibilityObject state
52199        change notifications.
52200        
52201        https://bugs.webkit.org/show_bug.cgi?id=34464
52202
52203        * accessibility/chromium/AXObjectCacheChromium.cpp:
52204        (WebCore::toChromeClientChromium):
52205        (WebCore::AXObjectCache::postPlatformNotification):
52206        * page/chromium/ChromeClientChromium.h:
52207
522082010-02-04  Stephen White  <senorblanco@chromium.org>
52209
52210        Unreviewed, build fix for Chromium.
52211
52212        Revert r54341 ("[v8] Remove clear method from DOM object maps"),
52213        since it causes the worker tests to fail on Chromium.
52214
52215        * bindings/v8/DOMData.h:
52216        (WebCore::DOMData::removeObjectsFromWrapperMap):
52217        * bindings/v8/DOMDataStore.h:
52218        (WebCore::ChunkedTable::clear):
52219        (WebCore::ChunkedTable::clearEntries):
52220        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
52221        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
52222        * bindings/v8/V8DOMMap.cpp:
52223        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
52224        (WebCore::removeAllDOMObjectsInCurrentThread):
52225        * bindings/v8/V8DOMMap.h:
52226        (WebCore::WeakReferenceMap::clear):
52227        * bindings/v8/WorkerScriptController.cpp:
52228        (WebCore::WorkerScriptController::~WorkerScriptController):
52229
522302010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
52231
52232        Reviewed by Xan Lopez.
52233
52234        [GTK] Crashes when an invalid hostname is pre-fetched
52235        https://bugs.webkit.org/show_bug.cgi?id=34602
52236
52237        * platform/network/soup/DNSSoup.cpp:
52238        (WebCore::prefetchDNS): NULL-check the SoupURI that is created
52239        from the hostname; that will happen for invalid hostnames.
52240
522412010-02-04  José Millán Soto  <jmillan@igalia.com>
52242
52243        Reviewed by Xan Lopez.
52244
52245        [Gtk] webkitgtk crashed when Orca open
52246        https://bugs.webkit.org/show_bug.cgi?id=34463
52247
52248        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52249        (textForObject):
52250        Checking if render objects are texts before calling toRenderText
52251
522522010-02-04  Xan Lopez  <xlopez@igalia.com>
52253
52254        Reviewed by Gustavo Noronha.
52255
52256        Set first party URI in all SoupMessages. This allows libsoup to
52257        implement a "no third party cookies" policy in case it wants
52258        to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
52259        use it for SoupURI.
52260
52261        * platform/network/soup/CookieJarSoup.cpp:
52262        (WebCore::setCookies):
52263        * platform/network/soup/ResourceHandleSoup.cpp:
52264        (WebCore::restartedCallback):
52265        (WebCore::startHttp):
52266        * platform/network/soup/ResourceRequestSoup.cpp:
52267        (WebCore::ResourceRequest::toSoupMessage):
52268        (WebCore::ResourceRequest::updateFromSoupMessage):
52269
522702010-02-04  Pavel Feldman  <pfeldman@chromium.org>
52271
52272        Reviewed by Timothy Hatcher.
52273
52274        Web Inspector: group cookies by domains, not frame's domains.
52275
52276        https://bugs.webkit.org/show_bug.cgi?id=34599
52277
52278        * inspector/front-end/CookieItemsView.js:
52279        (WebInspector.CookieItemsView.prototype._cookiesForDomain):
52280        * inspector/front-end/inspector.js:
52281        (WebInspector.updateResource):
52282        (WebInspector._addCookieDomain):
52283
522842010-02-04  Nate Chapin  <japhet@chromium.org>
52285
52286        Reviewed by Dimitri Glazkov.
52287
52288        [V8] Delete V8CustomBinding.h and all references to V8Custom
52289
52290        https://bugs.webkit.org/show_bug.cgi?id=32638
52291
52292        * bindings/v8/NPV8Object.cpp:
52293        * bindings/v8/V8DOMWindowShell.h:
52294        * bindings/v8/V8NPObject.cpp:
52295        * bindings/v8/V8Utilities.cpp:
52296        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
52297        * bindings/v8/custom/V8AttrCustom.cpp:
52298        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
52299        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
52300        * bindings/v8/custom/V8ClipboardCustom.cpp:
52301        * bindings/v8/custom/V8CoordinatesCustom.cpp:
52302        * bindings/v8/custom/V8CustomBinding.h: Removed.
52303        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
52304        * bindings/v8/custom/V8DOMWindowCustom.cpp:
52305        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
52306        * bindings/v8/custom/V8DatabaseCustom.cpp:
52307        * bindings/v8/custom/V8ElementCustom.cpp:
52308        * bindings/v8/custom/V8EventSourceConstructor.cpp:
52309        * bindings/v8/custom/V8EventSourceCustom.cpp:
52310        * bindings/v8/custom/V8GeolocationCustom.cpp:
52311        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
52312        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52313        (WebCore::v8HTMLAudioElementConstructorCallback):
52314        (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
52315        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
52316        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
52317        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
52318        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
52319        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52320        (WebCore::v8HTMLImageElementConstructorCallback):
52321        (WebCore::V8HTMLImageElementConstructor::GetTemplate):
52322        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
52323        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
52324        (WebCore::v8HTMLOptionElementConstructorCallback):
52325        (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
52326        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
52327        * bindings/v8/custom/V8HistoryCustom.cpp:
52328        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
52329        * bindings/v8/custom/V8LocationCustom.cpp:
52330        * bindings/v8/custom/V8MessagePortCustom.cpp:
52331        * bindings/v8/custom/V8NodeCustom.cpp:
52332        * bindings/v8/custom/V8NodeFilterCustom.cpp:
52333        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
52334        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
52335        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
52336        * bindings/v8/custom/V8SVGLengthCustom.cpp:
52337        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
52338        * bindings/v8/custom/V8StorageCustom.cpp:
52339        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
52340        * bindings/v8/custom/V8WebGLArrayCustom.h:
52341        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
52342        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
52343        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
52344        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
52345        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
52346        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
52347        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
52348        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
52349        * bindings/v8/custom/V8WorkerContextCustom.cpp:
52350        * bindings/v8/custom/V8WorkerCustom.cpp:
52351        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
52352        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
52353        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
52354
523552010-02-04  Ariya Hidayat  <ariya.hidayat@gmail.com>
52356
52357        Reviewed by Simon Hausmann.
52358
52359        [Qt] Unnecessary QBrush construction for doing a solid fill
52360        https://bugs.webkit.org/show_bug.cgi?id=34559
52361
52362        Use the similar trick like r37421, i.e. use the special brush for
52363        solid color to avoid creating QBrush again and again.
52364
52365        * platform/graphics/qt/GraphicsContextQt.cpp:
52366        (WebCore::GraphicsContext::setPlatformFillColor):
52367
523682010-02-04  Dan Bernstein  <mitz@apple.com>
52369
52370        Reviewed by Simon Fraser.
52371
52372        REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
52373        https://bugs.webkit.org/show_bug.cgi?id=34371
52374
52375        Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
52376        40 in ScrollbarThemeMac.
52377
52378        * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
52379        * editing/EditorCommand.cpp:
52380        (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
52381        constants, and cap the scroll distance if needed.
52382        * platform/ScrollView.cpp:
52383        (WebCore::ScrollView::updateScrollbars): Ditto.
52384        (WebCore::ScrollView::wheelEvent): Ditto.
52385        * platform/Scrollbar.cpp:
52386        (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
52387        value from the native scrollbar theme.
52388        * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
52389        (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
52390        (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
52391        * platform/ScrollbarTheme.h:
52392        (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
52393        that returns the largest int.
52394        * platform/gtk/WheelEventGtk.cpp:
52395        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52396        constants.
52397        * platform/haiku/PlatformWheelEventHaiku.cpp:
52398        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52399        constants.
52400        * platform/mac/ScrollbarThemeMac.h:
52401        (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
52402        that returns 40.
52403        * platform/mac/WheelEventMac.mm:
52404        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
52405        Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
52406        * platform/wx/MouseWheelEventWx.cpp:
52407        (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
52408        constants.
52409        * platform/wx/ScrollViewWx.cpp:
52410        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
52411        methods instead of constants, and cap the scroll distance if needed.
52412        * rendering/RenderLayer.cpp:
52413        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
52414
524152010-02-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
52416
52417        Reviewed by Ariya Hidayat.
52418
52419        [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
52420        recaching, remove QTimer::singleShot and QPixmap::scaled, more
52421        accurate strategy of handling transform operation blends. Rotating a
52422        bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
52423
52424        https://bugs.webkit.org/show_bug.cgi?id=34062
52425
52426        This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
52427
52428        * platform/graphics/qt/GraphicsLayerQt.cpp:
52429        (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
52430        (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
52431        (WebCore::OpacityAnimationQt::updateState): style change
52432
524332010-02-04  Pavel Feldman  <pfeldman@chromium.org>
52434
52435        Reviewed by Timothy Hatcher.
52436
52437        Web Inspector: Cookies for resources are not shown in storage panel.
52438
52439        https://bugs.webkit.org/show_bug.cgi?id=34594
52440
52441        * inspector/InspectorController.cpp:
52442        (WebCore::InspectorController::getCookies):
52443        * inspector/InspectorResource.cpp:
52444        (WebCore::InspectorResource::updateScriptObject):
52445        (WebCore::InspectorResource::cachedResource):
52446        * inspector/InspectorResource.h:
52447        (WebCore::InspectorResource::requestURL):
52448
524492010-02-04  Anton Muhin  <antonm@chromium.org>
52450
52451        Reviewed by Adam Barth.
52452
52453        [v8] Remove clear method from DOM object maps
52454        https://bugs.webkit.org/show_bug.cgi?id=34530
52455
52456        No new tests. Should be covered by existent testing infrastructure.
52457
52458        * bindings/v8/DOMData.h:
52459        * bindings/v8/DOMDataStore.h:
52460        * bindings/v8/V8DOMMap.cpp:
52461        * bindings/v8/V8DOMMap.h:
52462        * bindings/v8/WorkerScriptController.cpp:
52463        (WebCore::WorkerScriptController::~WorkerScriptController):
52464
524652010-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
52466
52467        Reviewed by Xan Lopez.
52468
52469        [Gtk] Check if the renderer() exists in textForObject.
52470
52471        This is fixing a crash in the textForObject method. It can
52472        happen when inspecting AtkObjects in the accerciser, then
52473        navigating to a new page and still inspecting the old tree.
52474
52475        In this case the AccessibilityObjectWrapperAtk was still
52476        valid but the included renderer() was returning 0. Add a
52477        check for the accObject->renderer() before trying to use
52478        the result.
52479
52480        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
52481        (textForObject):
52482
524832010-02-04  Yury Semikhatsky  <yurys@chromium.org>
52484
52485        Reviewed by Pavel Feldman.
52486
52487        Provide strongly typed C++ interface for inspector's injected script.
52488
52489        https://bugs.webkit.org/show_bug.cgi?id=33616
52490
52491        * GNUmakefile.am:
52492        * WebCore.gypi:
52493        * WebCore.pro:
52494        * WebCore.vcproj/WebCore.vcproj:
52495        * WebCore.xcodeproj/project.pbxproj:
52496        * bindings/js/JSInjectedScriptHostCustom.cpp:
52497        (WebCore::InjectedScriptHost::injectedScriptFor):
52498        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52499        (WebCore::InjectedScriptHost::injectedScriptFor):
52500        * inspector/InjectedScript.cpp: Added.
52501        (WebCore::InjectedScript::InjectedScript):
52502        (WebCore::InjectedScript::dispatch):
52503        (WebCore::InjectedScript::callFrames):
52504        (WebCore::InjectedScript::wrapAndStringifyForConsole):
52505        (WebCore::InjectedScript::releaseWrapperObjectGroup):
52506        * inspector/InjectedScript.h: Added.
52507        (WebCore::InjectedScript::InjectedScript):
52508        (WebCore::InjectedScript::~InjectedScript):
52509        (WebCore::InjectedScript::hasNoValue):
52510        * inspector/InjectedScriptHost.cpp:
52511        (WebCore::InjectedScriptHost::injectedScriptForId):
52512        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
52513        * inspector/InjectedScriptHost.h:
52514        * inspector/InspectorBackend.cpp:
52515        (WebCore::InspectorBackend::dispatchOnInjectedScript):
52516        * inspector/InspectorController.cpp:
52517        (WebCore::InspectorController::InspectorController):
52518        (WebCore::InspectorController::~InspectorController):
52519        (WebCore::InspectorController::inspectedPageDestroyed):
52520        (WebCore::InspectorController::windowScriptObjectAvailable):
52521        (WebCore::InspectorController::scriptObjectReady):
52522        (WebCore::InspectorController::setFrontendProxyObject):
52523        (WebCore::InspectorController::close):
52524        (WebCore::InspectorController::getProfile):
52525        (WebCore::InspectorController::enableDebugger):
52526        (WebCore::InspectorController::didPause):
52527        (WebCore::InspectorController::injectedScriptForNodeId):
52528        * inspector/InspectorController.h:
52529        (WebCore::InspectorController::frontendScriptState):
52530        * inspector/InspectorFrontend.cpp:
52531        (WebCore::InspectorFrontend::addConsoleMessage):
52532        * inspector/front-end/InjectedScript.js:
52533        (injectedScriptConstructor):
52534
525352010-02-04  Philippe Normand  <pnormand@igalia.com>
52536
52537        Rubber stamped by Xan Lopez.
52538
52539        Missing include, build fix after landing of patch from the bug 34435.
52540
52541        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52542
525432010-02-02  Philippe Normand  <pnormand@igalia.com>
52544
52545        Reviewed by Gustavo Noronha Silva.
52546
52547        [Gtk] libsoup critical warning in media player http cookies injection code
52548        https://bugs.webkit.org/show_bug.cgi?id=34435
52549
52550        Fixed the critical warning and refactored the
52551        User-Agent/Referer/cookies injection code, in that order. Previous
52552        order (cookies first) was wrong because if cookies injection could
52553        not be done neither the User-Agent nor Referer were injected. Also
52554        started a non-JSC-specific, gtk-specific GOwnPtr module.
52555
52556        * GNUmakefile.am:
52557        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52558        (WebCore::mediaPlayerPrivateSourceChangedCallback):
52559        * platform/gtk/GOwnPtrGtk.cpp: Added.
52560        (WTF::SoupURI):
52561        (WTF::GstElement):
52562        * platform/gtk/GOwnPtrGtk.h: Added.
52563
525642010-02-04  Mikhail Naganov  <mnaganov@chromium.org>
52565
52566        Reviewed by Timothy Hatcher.
52567
52568        Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
52569        The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
52570        make this code engine-agnostic.
52571
52572        https://bugs.webkit.org/show_bug.cgi?id=34531
52573
52574        * inspector/InjectedScriptHost.cpp:
52575        * inspector/InjectedScriptHost.h:
52576        * inspector/InspectorBackend.cpp:
52577        * inspector/InspectorBackend.h:
52578        * inspector/InspectorController.cpp:
52579        (WebCore::InspectorController::InspectorController):
52580        (WebCore::InspectorController::setWindowVisible):
52581        (WebCore::InspectorController::scriptObjectReady):
52582        (WebCore::InspectorController::close):
52583        (WebCore::InspectorController::didCommitLoad):
52584        * inspector/InspectorController.h:
52585        * inspector/InspectorFrontend.cpp:
52586        * inspector/InspectorFrontend.h:
52587        * inspector/JavaScriptCallFrame.cpp:
52588        * inspector/JavaScriptCallFrame.h:
52589        * inspector/JavaScriptDebugListener.h:
52590        * inspector/JavaScriptDebugServer.cpp:
52591        * inspector/JavaScriptDebugServer.h:
52592        * inspector/JavaScriptProfile.cpp:
52593        * inspector/JavaScriptProfile.h:
52594        * inspector/JavaScriptProfileNode.cpp:
52595        * inspector/JavaScriptProfileNode.h:
52596        * loader/FrameLoader.cpp:
52597        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
52598        * page/Page.cpp:
52599        (WebCore::Page::Page):
52600
526012010-02-03  Nicholas Young  <nicholas.young@nokia.com>
52602
52603        Reviewed by Eric Carlson.
52604
52605        Defer formatting of times displayed on media controls to the current theme.
52606        https://bugs.webkit.org/show_bug.cgi?id=34405
52607
52608        No new tests needed. Refactoring Only.
52609
52610        * rendering/MediaControlElements.cpp: Removed formatTime()
52611        (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
52612        * rendering/MediaControlElements.h:
52613        * rendering/RenderMedia.cpp:
52614        (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
52615        * rendering/RenderTheme.cpp:
52616        (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
52617        (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
52618        (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
52619        * rendering/RenderTheme.h:
52620
526212010-02-03  Steve Falkenburg  <sfalken@apple.com>
52622
52623        Windows Debug_All build fix.
52624
52625        * platform/graphics/win/WKCACFLayer.cpp:
52626
526272010-02-03  Brady Eidson  <beidson@apple.com>
52628
52629        Reviewed by Alexey Proskuryakov.
52630
52631        REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
52632        <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
52633
52634        Tests: fast/loader/document-with-fragment-url-1.html
52635               fast/loader/document-with-fragment-url-2.html
52636               fast/loader/document-with-fragment-url-3.html
52637               fast/loader/document-with-fragment-url-4.html
52638
52639        * platform/KURL.cpp:
52640        (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
52641          any fragment identifier from the absolute URL should be removed from the resulting resolution.
52642
526432010-02-03  Kwang Yul Seo  <skyul@company100.net>
52644
52645        Reviewed by Eric Seidel.
52646
52647        [BREWMP] Port TextBreakIteratorInternalICU
52648        https://bugs.webkit.org/show_bug.cgi?id=34515
52649
52650        Port TextBreakIteratorInternalICU.
52651
52652        * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
52653        (WebCore::currentSearchLocaleID):
52654        (WebCore::currentTextBreakLocaleID):
52655
526562010-02-03  Adele Peterson  <adele@apple.com>
52657
52658        Reviewed by Simon Fraser.
52659
52660        Fix for <rdar://problem/7594212> 
52661        https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
52662        CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
52663
52664        Test: fast/css/counters/counter-before-selector-crash.html
52665
52666        * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
52667
526682010-02-03  Adele Peterson  <adele@apple.com>
52669
52670        Reviewed by Brady Eidson.
52671
52672        Initialize the variable in the last checkin to false.  I didn't realize DRT relies on this being false.  
52673        So ports that want visited link tracking need to set that flag.
52674
52675        * page/PageGroup.cpp:
52676
526772010-02-03  Adele Peterson  <adele@apple.com>
52678
52679        Reviewed by Brady Eidson.
52680
52681        Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
52682        static shouldTrackVisitedLinks is not initialized
52683
52684        For ports that don't call into WebKit to initialize this, 
52685        we should initialize to true so they get the visited link behavior by default.
52686
52687        * page/PageGroup.cpp:
52688
526892010-02-03  Dan Bernstein  <mitz@apple.com>
52690
52691        Reviewed by Simon Fraser.
52692
52693        <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
52694        https://bugs.webkit.org/show_bug.cgi?id=34546
52695
52696        * manual-tests/drag-image-table-part-decorations.html: Added.
52697        * rendering/RenderFieldset.cpp:
52698        (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
52699        paint within the current painting root.
52700        * rendering/RenderTable.cpp:
52701        (WebCore::RenderTable::paintBoxDecorations): Ditto.
52702        * rendering/RenderTableCell.cpp:
52703        (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
52704        (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
52705
527062010-02-03  Nate Chapin  <japhet@chromium.org>
52707
52708        Unreviewed, Chromium mac build fix.
52709
52710        [V8] Remove unused V8Proxy* variable from generated wrapping code.
52711
52712        * bindings/scripts/CodeGeneratorV8.pm:
52713
527142010-02-03  Nate Chapin  <japhet@chromium.org>
52715
52716        Reviewed by Dimitri Glazkov.
52717
52718        [V8] Use toV8() to wrap in the custom bindings, and remove
52719        the old wrapping code from V8DOMWrapper.
52720        
52721        https://bugs.webkit.org/show_bug.cgi?id=32563
52722
52723        * bindings/scripts/CodeGeneratorV8.pm:
52724        * bindings/v8/ScriptController.cpp:
52725        * bindings/v8/ScriptObject.cpp:
52726        * bindings/v8/V8AbstractEventListener.cpp:
52727        * bindings/v8/V8Collection.h:
52728        * bindings/v8/V8DOMWindowShell.cpp:
52729        * bindings/v8/V8DOMWrapper.cpp:
52730        * bindings/v8/V8DOMWrapper.h:
52731        * bindings/v8/V8NodeFilterCondition.cpp:
52732        * bindings/v8/V8Proxy.cpp:
52733        * bindings/v8/WorkerContextExecutionProxy.h
52734        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
52735        * bindings/v8/custom/V8CustomPositionCallback.cpp:
52736        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
52737        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
52738        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
52739        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
52740        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
52741        * bindings/v8/custom/V8DOMWindowCustom.cpp:
52742        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
52743        * bindings/v8/custom/V8DocumentCustom.cpp:
52744        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
52745        * bindings/v8/custom/V8ElementCustom.cpp:
52746        * bindings/v8/custom/V8EventCustom.cpp:
52747        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
52748        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52749        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
52750        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
52751        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
52752        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
52753        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
52754        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52755        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
52756        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
52757        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52758        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
52759        * bindings/v8/custom/V8MessageEventCustom.cpp:
52760        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
52761        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
52762        * bindings/v8/custom/V8NodeListCustom.cpp:
52763        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
52764        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
52765        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
52766        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
52767        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
52768        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
52769
527702010-02-03  Sam Weinig  <sam@webkit.org>
52771
52772        Reviewed by Anders Carlsson.
52773
52774        Fix drawing buttons in viewless WebKit.
52775
52776        * platform/mac/ThemeMac.mm:
52777        (WebCore::paintButton): If there is no view, make sure to flip the
52778        context so that the button is drawn correctly.
52779
527802010-02-03  Yael Aharon  <yael.aharon@nokia.com>
52781
52782        Reviewed by Kenneth Rohde Christiansen.
52783
52784        [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52785        https://bugs.webkit.org/show_bug.cgi?id=34425
52786
52787        Reverting r54279, it was a misunderstanding.
52788
52789        * platform/network/qt/SocketStreamHandlePrivate.h:
52790        * platform/network/qt/SocketStreamHandleQt.cpp:
52791        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
52792        (WebCore::SocketStreamHandlePrivate::send):
52793        (WebCore::SocketStreamHandlePrivate::close):
52794
527952010-02-03  Drew Wilson  <atwilson@chromium.org>
52796
52797        Reviewed by Alexey Proskuryakov.
52798
52799        SharedWorkerScriptLoader should not be an ActiveDOMObject
52800        https://bugs.webkit.org/show_bug.cgi?id=34513
52801
52802        Test: Existing tests suffice (fixes test downstream in Chrome).
52803
52804        * workers/DefaultSharedWorkerRepository.cpp:
52805        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
52806        Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
52807        (WebCore::SharedWorkerScriptLoader::load):
52808        Now increments own refcount when a load is pending.
52809        (WebCore::SharedWorkerScriptLoader::notifyFinished):
52810        Changed to decrement refcount when load is complete.
52811        * workers/WorkerScriptLoaderClient.h:
52812        Documentation change about reliability of notifyFinished() when used from worker context.
52813
528142010-02-03  Pavel Feldman  <pfeldman@chromium.org>
52815
52816        Reviewed by Timothy Hatcher.
52817
52818        Web Inspector: Inspector renders blank scripts on reloading the webpage.
52819
52820        https://bugs.webkit.org/show_bug.cgi?id=34537
52821
52822        * inspector/front-end/ResourcesPanel.js:
52823        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
52824
528252010-02-03  Yury Semikhatsky  <yurys@chromium.org>
52826
52827        Reviewed by Pavel Feldman.
52828
52829        Provide strongly typed C++ interface for inspector's injected script.
52830
52831        https://bugs.webkit.org/show_bug.cgi?id=33616
52832
52833        * WebCore.gypi:
52834        * WebCore.pro:
52835        * WebCore.vcproj/WebCore.vcproj:
52836        * WebCore.xcodeproj/project.pbxproj:
52837        * bindings/js/JSInjectedScriptHostCustom.cpp:
52838        (WebCore::InjectedScriptHost::injectedScriptFor):
52839        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
52840        (WebCore::InjectedScriptHost::injectedScriptFor):
52841        * inspector/InjectedScript.cpp: Added.
52842        (WebCore::InjectedScript::InjectedScript):
52843        (WebCore::InjectedScript::dispatch):
52844        (WebCore::InjectedScript::callFrames):
52845        (WebCore::InjectedScript::wrapAndStringify):
52846        (WebCore::InjectedScript::releaseWrapperObjectGroup):
52847        * inspector/InjectedScript.h: Added.
52848        (WebCore::InjectedScript::InjectedScript):
52849        (WebCore::InjectedScript::~InjectedScript):
52850        (WebCore::InjectedScript::hasNoValue):
52851        * inspector/InjectedScriptHost.cpp:
52852        (WebCore::InjectedScriptHost::injectedScriptForId):
52853        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
52854        * inspector/InjectedScriptHost.h:
52855        * inspector/InspectorBackend.cpp:
52856        (WebCore::InspectorBackend::dispatchOnInjectedScript):
52857        * inspector/InspectorController.cpp:
52858        (WebCore::InspectorController::InspectorController):
52859        (WebCore::InspectorController::~InspectorController):
52860        (WebCore::InspectorController::inspectedPageDestroyed):
52861        (WebCore::InspectorController::windowScriptObjectAvailable):
52862        (WebCore::InspectorController::scriptObjectReady):
52863        (WebCore::InspectorController::setFrontendProxyObject):
52864        (WebCore::InspectorController::close):
52865        (WebCore::InspectorController::getProfile):
52866        (WebCore::InspectorController::enableDebugger):
52867        (WebCore::InspectorController::didPause):
52868        (WebCore::InspectorController::injectedScriptForNodeId):
52869        * inspector/InspectorController.h:
52870        (WebCore::InspectorController::frontendScriptState):
52871        * inspector/InspectorFrontend.cpp:
52872        (WebCore::InspectorFrontend::addConsoleMessage):
52873
528742010-02-03  Andras Becsi  <abecsi@webkit.org>
52875
52876        Unreviewed build fix.
52877
52878        [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
52879
52880        * platform/graphics/qt/GraphicsLayerQt.cpp:
52881        (WebCore::GraphicsLayerQtImpl::State::State):
52882        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
52883        (WebCore::GraphicsLayerQtImpl::setBaseTransform):
52884        (WebCore::GraphicsLayerQtImpl::drawContents):
52885        (WebCore::GraphicsLayerQtImpl::notifyChange):
52886        (WebCore::GraphicsLayerQtImpl::flushChanges):
52887        (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
52888        (WebCore::applyTimingFunction):
52889        (WebCore::webkitAnimationToQtAnimationValue):
52890        (WebCore::AnimationQtBase::updateState):
52891        (WebCore::AnimationQt::updateCurrentTime):
52892        (WebCore::TransformAnimationQt::TransformAnimationQt):
52893        (WebCore::TransformAnimationQt::~TransformAnimationQt):
52894        (WebCore::TransformAnimationQt::applyFrame):
52895        (WebCore::TransformAnimationQt::updateState):
52896        (WebCore::OpacityAnimationQt::updateState):
52897        (WebCore::GraphicsLayerQt::pauseAnimation):
52898
528992010-02-02  Bryan Yeung  <bryeung@google.com>
52900
52901        Reviewed by Darin Adler.
52902
52903        Avoid using an invalidated KURL object in baseURI.
52904
52905        https://bugs.webkit.org/show_bug.cgi?id=34492
52906
52907        This change fixes baseURI for Chromium (where the KURL implementation
52908        does not allow invalid KURLs to carry relative paths).  This is
52909        regression tested by
52910        LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
52911
52912        This is a re-application of this patch since it was mistakenly identified as
52913        the cause of a big chromium test regression and rolled out in r54264.
52914
52915        * dom/Element.cpp:
52916        (WebCore::Element::baseURI):
52917
529182010-02-02  Joel Stanley  <joel@jms.id.au>
52919
52920        Reviewed by David Levin.
52921
52922        [Chromium] Make setCaretBlinkInterval static.
52923        https://bugs.webkit.org/show_bug.cgi?id=31704
52924
52925        This is so it can be called from the newly exposed Chromium API setter
52926        method.
52927
52928        * rendering/RenderThemeChromiumLinux.cpp:
52929        * rendering/RenderThemeChromiumLinux.h:
52930
529312010-02-02  Yael Aharon  <yael.aharon@nokia.com>
52932
52933        Reviewed by Kenneth Rohde Christiansen.
52934
52935        [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
52936        https://bugs.webkit.org/show_bug.cgi?id=34425
52937
52938        Buffer the sent data in SocketStreamHandlePrivate instead of relying on
52939        the network layer to do it. This is more robust and more consistent with how 
52940        Qt's HTTP stack works.
52941        Close the socket in SocketStreamHandlePrivate::close() regardless of its state.
52942
52943        No new tests, since no new functionality is introduced.
52944
52945        * platform/network/qt/SocketStreamHandlePrivate.h:
52946        * platform/network/qt/SocketStreamHandleQt.cpp:
52947        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
52948        (WebCore::SocketStreamHandlePrivate::send):
52949        (WebCore::SocketStreamHandlePrivate::close):
52950        (WebCore::SocketStreamHandlePrivate::socketBytesWritten):
52951
529522010-02-03  Shinichiro Hamaji  <hamaji@chromium.org>
52953
52954        Unreviewed revert of r54259 as it seems to break chromium's unit tests.
52955        The tests pass with r54257 but fail with r54260.
52956        As r54258 and r54260 don't touch code, I'm reverting this change.
52957
52958        [V8] Generate toV8 conversion helpers, a la JSC bindings.
52959        https://bugs.webkit.org/show_bug.cgi?id=32563
52960
52961        * bindings/v8/ScriptController.cpp:
52962        (WebCore::ScriptController::processingUserGesture):
52963        (WebCore::createScriptObject):
52964        (WebCore::ScriptController::createScriptObjectForPluginElement):
52965        * bindings/v8/ScriptObject.cpp:
52966        (WebCore::ScriptGlobalObject::set):
52967        * bindings/v8/V8AbstractEventListener.cpp:
52968        (WebCore::V8AbstractEventListener::handleEvent):
52969        * bindings/v8/V8Collection.h:
52970        (WebCore::getV8Object):
52971        (WebCore::toNativeCollection):
52972        (WebCore::getNamedPropertyOfCollection):
52973        (WebCore::collectionNamedPropertyGetter):
52974        (WebCore::getIndexedPropertyOfCollection):
52975        (WebCore::collectionIndexedPropertyGetter):
52976        (WebCore::nodeCollectionIndexedPropertyEnumerator):
52977        (WebCore::collectionIndexedPropertyEnumerator):
52978        (WebCore::collectionStringOrNullIndexedPropertyGetter):
52979        (WebCore::collectionStringIndexedPropertyGetter):
52980        (WebCore::setCollectionIndexedGetter):
52981        (WebCore::setCollectionNamedGetter):
52982        (WebCore::setCollectionStringOrNullIndexedGetter):
52983        (WebCore::setCollectionStringIndexedGetter):
52984        * bindings/v8/V8DOMWindowShell.cpp:
52985        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
52986        * bindings/v8/V8DOMWrapper.cpp:
52987        (WebCore::downcastSVGPathSeg):
52988        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
52989        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
52990        (WebCore::V8DOMWrapper::convertToV8Object):
52991        (WebCore::V8DOMWrapper::instantiateV8Object):
52992        (WebCore::V8DOMWrapper::isDOMEventWrapper):
52993        (WebCore::V8DOMWrapper::htmlElementType):
52994        (WebCore::V8DOMWrapper::svgElementType):
52995        (WebCore::V8DOMWrapper::convertEventToV8Object):
52996        (WebCore::):
52997        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
52998        (WebCore::V8DOMWrapper::convertNodeToV8Object):
52999        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
53000        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
53001        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
53002        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
53003        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
53004        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
53005        (WebCore::V8DOMWrapper::convertWindowToV8Object):
53006        (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
53007        * bindings/v8/V8DOMWrapper.h:
53008        (WebCore::V8DOMWrapper::convertToV8Object):
53009        (WebCore::V8DOMWrapper::convertNodeToV8Object):
53010        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
53011        (WebCore::V8DOMWrapper::convertEventToV8Object):
53012        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
53013        (WebCore::V8DOMWrapper::instantiateV8Object):
53014        * bindings/v8/V8NodeFilterCondition.cpp:
53015        (WebCore::V8NodeFilterCondition::acceptNode):
53016        * bindings/v8/V8Proxy.cpp:
53017        (WebCore::V8Proxy::setDOMException):
53018        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
53019        (WebCore::toV8Object):
53020        (WebCore::V8CanvasRenderingContext2D::createPatternCallback):
53021        * bindings/v8/custom/V8CustomPositionCallback.cpp:
53022        (WebCore::V8CustomPositionCallback::handleEvent):
53023        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
53024        (WebCore::V8CustomPositionErrorCallback::handleEvent):
53025        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
53026        (WebCore::V8CustomSQLStatementCallback::handleEvent):
53027        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
53028        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
53029        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
53030        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
53031        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
53032        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
53033        * bindings/v8/custom/V8DOMWindowCustom.cpp:
53034        (WebCore::V8DOMWindow::openCallback):
53035        (WebCore::V8DOMWindow::indexedPropertyGetter):
53036        (WebCore::V8DOMWindow::namedPropertyGetter):
53037        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
53038        (WebCore::NAMED_PROPERTY_GETTER):
53039        * bindings/v8/custom/V8DocumentCustom.cpp:
53040        (WebCore::V8Document::evaluateCallback):
53041        (WebCore::V8Document::getCSSCanvasContextCallback):
53042        (WebCore::V8Document::implementationAccessorGetter):
53043        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
53044        (WebCore::V8Document::locationAccessorGetter):
53045        * bindings/v8/custom/V8ElementCustom.cpp:
53046        (WebCore::V8Element::setAttributeNodeCallback):
53047        (WebCore::V8Element::setAttributeNodeNSCallback):
53048        * bindings/v8/custom/V8EventCustom.cpp:
53049        (WebCore::V8Event::dataTransferAccessorGetter):
53050        (WebCore::V8Event::clipboardDataAccessorGetter):
53051        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
53052        (WebCore::getNamedItems):
53053        (WebCore::getItem):
53054        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
53055        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
53056        (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback):
53057        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
53058        (WebCore::V8HTMLCanvasElement::getContextCallback):
53059        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
53060        (WebCore::getNamedItems):
53061        (WebCore::getItem):
53062        (WebCore::V8HTMLCollection::callAsFunctionCallback):
53063        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
53064        (WebCore::V8HTMLDocument::namedPropertyGetter):
53065        (WebCore::V8HTMLDocument::allAccessorGetter):
53066        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
53067        (WebCore::V8HTMLFormElement::indexedPropertyGetter):
53068        (WebCore::V8HTMLFormElement::namedPropertyGetter):
53069        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
53070        (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
53071        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
53072        (WebCore::V8Custom::v8HTMLImageElementConstructorCallback):
53073        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
53074        (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
53075        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
53076        (WebCore::V8HTMLSelectElement::namedPropertyGetter):
53077        (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
53078        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
53079        (WebCore::createInjectedScript):
53080        (WebCore::V8InjectedScriptHost::nodeForIdCallback):
53081        (WebCore::V8InjectedScriptHost::databaseForIdCallback):
53082        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
53083        (WebCore::V8MessageChannel::constructorCallback):
53084        * bindings/v8/custom/V8MessageEventCustom.cpp:
53085        (WebCore::V8MessageEvent::portsAccessorGetter):
53086        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
53087        (WebCore::V8NamedNodeMap::indexedPropertyGetter):
53088        (WebCore::V8NamedNodeMap::namedPropertyGetter):
53089        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
53090        (WebCore::toV8):
53091        * bindings/v8/custom/V8NodeListCustom.cpp:
53092        (WebCore::V8NodeList::namedPropertyGetter):
53093        (WebCore::V8NodeList::callAsFunctionCallback):
53094        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
53095        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
53096        (WebCore::V8NotificationCenter::createNotificationCallback):
53097        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
53098        (WebCore::V8SVGMatrix::multiplyCallback):
53099        (WebCore::V8SVGMatrix::inverseCallback):
53100        (WebCore::V8SVGMatrix::rotateFromVectorCallback):
53101        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
53102        (WebCore::V8StyleSheetList::namedPropertyGetter):
53103        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
53104        (WebCore::toV8Object):
53105        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53106        (WebCore::toV8Object):
53107        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
53108        (WebCore::V8XSLTProcessor::transformToFragmentCallback):
53109        (WebCore::V8XSLTProcessor::transformToDocumentCallback):
53110
531112010-02-03  Mikhail Naganov  <mnaganov@chromium.org>
53112
53113        Reviewed by Pavel Feldman.
53114
53115        Start unforking debugger and profiler code.
53116
53117        Remove custom implementation of Console.
53118        Add 'ScriptProfiler' and 'ScriptProfile' types.
53119        Start migration to engine-neutral types in InspectorController.
53120
53121        https://bugs.webkit.org/show_bug.cgi?id=34481
53122
53123        * GNUmakefile.am:
53124        * WebCore.gypi:
53125        * WebCore.pro:
53126        * WebCore.xcodeproj/project.pbxproj:
53127        * bindings/js/JSBindingsAllInOne.cpp:
53128        * bindings/js/JSConsoleCustom.cpp:
53129        * bindings/js/ScriptProfile.h: Added.
53130        * bindings/js/ScriptProfiler.cpp: Added.
53131        (WebCore::ScriptProfiler::start):
53132        (WebCore::ScriptProfiler::stop):
53133        * bindings/js/ScriptProfiler.h: Added.
53134        * bindings/scripts/CodeGeneratorV8.pm:
53135        * bindings/v8/ScriptProfile.h: Added.
53136        (WebCore::ScriptProfile::create):
53137        (WebCore::ScriptProfile::~ScriptProfile):
53138        (WebCore::ScriptProfile::title):
53139        (WebCore::ScriptProfile::uid):
53140        (WebCore::ScriptProfile::ScriptProfile):
53141        * bindings/v8/ScriptProfiler.cpp: Added.
53142        (WebCore::ScriptProfiler::start):
53143        (WebCore::ScriptProfiler::stop):
53144        * bindings/v8/ScriptProfiler.h: Added.
53145        * bindings/v8/custom/V8ConsoleCustom.cpp: Removed.
53146        * inspector/InspectorController.cpp:
53147        (WebCore::InspectorController::endGroup):
53148        (WebCore::InspectorController::show):
53149        (WebCore::InspectorController::setDOMStorageItem):
53150        (WebCore::InspectorController::addProfile):
53151        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
53152        (WebCore::InspectorController::addStartProfilingMessageToConsole):
53153        (WebCore::InspectorController::createProfileHeader):
53154        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
53155        (WebCore::InspectorController::startUserInitiatedProfiling):
53156        (WebCore::InspectorController::stopUserInitiatedProfiling):
53157        (WebCore::InspectorController::enableDebugger):
53158        (WebCore::InspectorController::specialPanelForJSName):
53159        * inspector/InspectorController.h:
53160        (WebCore::InspectorController::searchingForNodeInPage):
53161        * page/Console.cpp:
53162        (WebCore::Console::profile):
53163        (WebCore::Console::profileEnd):
53164        * page/Console.h:
53165        (WebCore::):
53166        (WebCore::Console::create):
53167        (WebCore::Console::profiles):
53168        * page/Console.idl:
53169
531702010-02-02  Kent Tamura  <tkent@chromium.org>
53171
53172        Reviewed by Darin Adler.
53173
53174        Fix a bug that changes for some constraint attributes doesn't
53175        update validation CSS selectors.
53176        https://bugs.webkit.org/show_bug.cgi?id=31716
53177
53178        - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck()
53179        - Introduce HTMLFormControlElement::setNeedsWillValidate()
53180        - Introduce HTMLFormControlElement::m_hasName to make willValidate()
53181          work in parseMappedAttribute().
53182        - We need to call setNeedsValidityCheck() when HTMLInputElement::step or
53183          HTMLTextAreaElement::maxLength is changed.
53184
53185        * html/HTMLFormControlElement.cpp:
53186        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
53187        (WebCore::HTMLFormControlElement::parseMappedAttribute):
53188        (WebCore::HTMLFormControlElement::insertedIntoTree):
53189        (WebCore::HTMLFormControlElement::removedFromTree):
53190        (WebCore::HTMLFormControlElement::formDestroyed):
53191        (WebCore::HTMLFormControlElement::willValidate): Avoids function calls.
53192        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
53193        (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
53194        * html/HTMLFormControlElement.h:
53195        (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp.
53196        * html/HTMLInputElement.cpp:
53197        (WebCore::HTMLInputElement::setInputType):
53198        (WebCore::HTMLInputElement::parseMappedAttribute):
53199        (WebCore::HTMLInputElement::setValue):
53200        (WebCore::HTMLInputElement::setValueFromRenderer):
53201        (WebCore::HTMLInputElement::setFileListFromRenderer):
53202        * html/HTMLTextAreaElement.cpp:
53203        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
53204        (WebCore::HTMLTextAreaElement::setValue):
53205        * rendering/RenderTextControlMultiLine.cpp:
53206        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
53207
532082010-02-02  Roland Steiner  <rolandsteiner@chromium.org>
53209
53210        Reviewed by Adele Peterson.
53211
53212        Bug 34198 -  Ruby text should not inherit line-height
53213        (https://bugs.webkit.org/show_bug.cgi?id=34198)
53214        
53215        Resetting line-height to 'normal' in the default UA style sheet.
53216        Adding layout-test to check for this.
53217
53218        Test: fast/ruby/ruby-line-height.html
53219
53220        * css/html.css:
53221
532222010-02-02  James Robinson  <jamesr@chromium.org>
53223
53224        Reviewed by Dmitry Titov.
53225
53226        Add a null check for image, which might be NULL if tileSize is empty
53227        https://bugs.webkit.org/show_bug.cgi?id=34510
53228
53229        Test: fast/gradients/crash-on-1px-border.html
53230
53231        * rendering/RenderBoxModelObject.cpp:
53232        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
53233
532342010-02-02  Kent Tamura  <tkent@chromium.org>
53235
53236        Reviewed by Darin Adler.
53237
53238        rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
53239        month, time and week
53240        https://bugs.webkit.org/show_bug.cgi?id=34483
53241
53242        Tests: fast/forms/ValidityState-rangeOverflow.html
53243               fast/forms/ValidityState-rangeUnderflow.html
53244
53245        * html/HTMLInputElement.cpp:
53246          Defines the hard limits for the types as double values.
53247        (WebCore::HTMLInputElement::rangeUnderflow): Supports the types.
53248        (WebCore::HTMLInputElement::rangeOverflow): Supports the types.
53249        (WebCore::HTMLInputElement::minimum): Supports the types.
53250        (WebCore::HTMLInputElement::maximum): Supports the types.
53251
532522010-02-02  Fumitoshi Ukai  <ukai@chromium.org>
53253
53254        Reviewed by Alexey Proskuryakov.
53255
53256        WebSocket set pending activity to avoid unexpected GC.
53257        https://bugs.webkit.org/show_bug.cgi?id=34014
53258
53259        Test: websocket/tests/websocket-pending-activity.html
53260
53261        * websockets/WebSocket.cpp:
53262        (WebCore::WebSocket::connect): set pending activity until it receives didClose. 
53263        (WebCore::WebSocket::contextDestroyed): check socket is already closed.
53264        (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
53265        (WebCore::WebSocket::didClose): unset pending activity.
53266        * websockets/WebSocket.h:
53267        * websockets/WebSocketChannel.cpp:
53268        (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
53269
532702010-02-02  Gustavo Noronha Silva  <gns@gnome.org>
53271
53272        No review, rolling out r54261.
53273        http://trac.webkit.org/changeset/54261
53274        https://bugs.webkit.org/show_bug.cgi?id=34435
53275
53276        Causes crashes on release builds
53277
53278        * GNUmakefile.am:
53279        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53280        (WebCore::mediaPlayerPrivateSourceChangedCallback):
53281        * platform/gtk/GOwnPtrGtk.cpp: Removed.
53282        * platform/gtk/GOwnPtrGtk.h: Removed.
53283
532842010-02-02  David Levin  <levin@chromium.org>
53285
53286        No review, rolling out r54245.
53287        http://trac.webkit.org/changeset/54245
53288        https://bugs.webkit.org/show_bug.cgi?id=34492
53289
53290        This patch seems to have broken thousands of chromium tests on
53291        Windows (and since it was for chromium, I'm rolling it out).
53292
53293        * dom/Element.cpp:
53294        (WebCore::Element::baseURI):
53295
532962010-02-02  Steve Falkenburg  <sfalken@apple.com>
53297
53298        Reviewed by Darin Adler.
53299
53300        Copyright year updating for Windows version resources should be automatic
53301        https://bugs.webkit.org/show_bug.cgi?id=34503
53302
53303        * WebCore.vcproj/QTMovieWin.rc:
53304
533052010-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
53306
53307        No review, rolling out r54257.
53308        http://trac.webkit.org/changeset/54257
53309        https://bugs.webkit.org/show_bug.cgi?id=34491
53310
53311        [Chromium] broke thousands of Win tests and a few of Linux tests.
53312
53313        * platform/graphics/skia/GraphicsContextSkia.cpp:
53314        (WebCore::GraphicsContext::beginTransparencyLayer):
53315        * platform/graphics/skia/PlatformContextSkia.cpp:
53316        (PlatformContextSkia::applyAntiAliasedClipPaths):
53317        * platform/graphics/skia/PlatformContextSkia.h:
53318
533192010-02-02  Philippe Normand  <pnormand@igalia.com>
53320
53321        Reviewed by Gustavo Noronha Silva.
53322
53323        [Gtk] libsoup critical warning in media player http cookies injection code
53324        https://bugs.webkit.org/show_bug.cgi?id=34435
53325
53326        Fixed the critical warning and refactored the
53327        User-Agent/Referer/cookies injection code, in that order. Previous
53328        order (cookies first) was wrong because if cookies injection could
53329        not be done neither the User-Agent not Referer were injected. Also
53330        started a non-JSC-specific, gtk-specific GOwnPtr module.
53331
53332        * GNUmakefile.am:
53333        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
53334        (WebCore::mediaPlayerPrivateSourceChangedCallback):
53335        * platform/gtk/GOwnPtrGtk.cpp: Added.
53336        (WTF::SoupURI):
53337        (WTF::GstElement):
53338        * platform/gtk/GOwnPtrGtk.h: Added.
53339
533402010-02-02  Nate Chapin  <japhet@chromium.org>
53341
53342        Reviewed by Dimitri Glazkov.
53343
53344        [V8] Use toV8() to wrap in the custom bindings, and remove
53345        the old wrapping code from V8DOMWrapper.
53346        
53347        https://bugs.webkit.org/show_bug.cgi?id=32563
53348
53349        * bindings/v8/ScriptController.cpp:
53350        * bindings/v8/ScriptObject.cpp:
53351        * bindings/v8/V8AbstractEventListener.cpp:
53352        * bindings/v8/V8Collection.h:
53353        * bindings/v8/V8DOMWindowShell.cpp:
53354        * bindings/v8/V8DOMWrapper.cpp:
53355        * bindings/v8/V8DOMWrapper.h:
53356        * bindings/v8/V8NodeFilterCondition.cpp:
53357        * bindings/v8/V8Proxy.cpp:
53358        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
53359        * bindings/v8/custom/V8CustomPositionCallback.cpp:
53360        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
53361        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
53362        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
53363        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
53364        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
53365        * bindings/v8/custom/V8DOMWindowCustom.cpp:
53366        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
53367        * bindings/v8/custom/V8DocumentCustom.cpp:
53368        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
53369        * bindings/v8/custom/V8ElementCustom.cpp:
53370        * bindings/v8/custom/V8EventCustom.cpp:
53371        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
53372        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
53373        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
53374        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
53375        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
53376        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
53377        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
53378        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
53379        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
53380        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
53381        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
53382        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
53383        * bindings/v8/custom/V8MessageEventCustom.cpp:
53384        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
53385        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
53386        * bindings/v8/custom/V8NodeListCustom.cpp:
53387        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
53388        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
53389        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
53390        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
53391        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
53392        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
53393
533942010-02-02  Garret Kelly  <gdk@chromium.org>
53395
53396        Reviewed by David Levin.
53397
53398        When using the Skia graphics context, the beginTransparencyLayer call
53399        currently creates a new layer, but does not keep the current
53400        compositing mode for use when merging the created layer back onto the
53401        rest of the context. This patch fixes that.
53402        https://bugs.webkit.org/show_bug.cgi?id=34491
53403
53404        fast/backgrounds/svg-as-mask.html is affected by this change in Chromium,
53405        but not fixed. This is the first of a series of patches to fix it.
53406
53407        * platform/graphics/skia/GraphicsContextSkia.cpp:
53408        (WebCore::GraphicsContext::beginTransparencyLayer):
53409        * platform/graphics/skia/PlatformContextSkia.cpp:
53410        (PlatformContextSkia::beginTransparencyLayer):
53411        * platform/graphics/skia/PlatformContextSkia.h:
53412
534132010-02-02  Kwang Yul Seo  <skyul@company100.net>
53414
53415        Reviewed by Eric Seidel.
53416
53417        Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
53418        https://bugs.webkit.org/show_bug.cgi?id=34409
53419
53420        Platform guards for localtime_r are not needed because we already have
53421        WTF::getLocalTime which does the same thing.
53422
53423        * loader/FTPDirectoryDocument.cpp:
53424        (WebCore::processFileDateString):
53425        * loader/FTPDirectoryParser.cpp:
53426        (WebCore::gmtimeQt):
53427
534282010-02-02  Adam Roben  <aroben@apple.com>
53429
53430        Copy WebCore's bindings generation scripts to the PrivateHeaders
53431        directory on Mac
53432
53433        This will allow other projects to use these scripts.
53434
53435        Fixes <http://webkit.org/b/34498>.
53436
53437        Reviewed by Mark Rowe.
53438
53439        * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
53440        scripst to the Copy Headers phase, and marked them as Private.
53441
534422010-02-02  Adam Roben  <aroben@apple.com>
53443
53444        Copy WebCore's bindings generation scripts to a more sensible location
53445
53446        Part of Bug 34496: Clean up WebCore's IDL/script copying
53447        <https://bugs.webkit.org/show_bug.cgi?id=34496>
53448
53449        Reviewed by Steve Falkenburg.
53450
53451        * WebCore.vcproj/WebCore.make:
53452        * WebCore.vcproj/WebCoreGenerated.vcproj:
53453        Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
53454
534552010-02-02  Adam Roben  <aroben@apple.com>
53456
53457        Rename the scripts used to copy WebCore's bindings generation scripts
53458
53459        Part of Bug 34496: Clean up WebCore's IDL/script copying
53460        <https://bugs.webkit.org/show_bug.cgi?id=34496>
53461
53462        Reviewed by Steve Falkenburg.
53463
53464        * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
53465        * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
53466
53467        * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
53468
534692010-02-02  Adam Roben  <aroben@apple.com>
53470
53471        Stop copying IDL files into $(WebKitOutputDir)
53472
53473        No one uses these anymore (as of r52921).
53474
53475        Part of Bug 34496: Clean up WebCore's IDL/script copying
53476        <https://bugs.webkit.org/show_bug.cgi?id=34496>
53477
53478        Reviewed by Steve Falkenburg.
53479
53480        * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files
53481        anymore. Keep copying the scripts, though, since other projects
53482        (outside of the WebKit repository) do use those.
53483
534842010-02-02  Bryan Yeung  <bryeung@google.com>
53485
53486        Reviewed by Darin Adler.
53487
53488        Avoid using an invalidated KURL object in baseURI.
53489
53490        https://bugs.webkit.org/show_bug.cgi?id=34492
53491
53492        This change fixes baseURI for Chromium (where the KURL implementation
53493        does not allow invalid KURLs to carry relative paths).  This is
53494        regression tested by
53495        LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
53496
53497        * dom/Element.cpp:
53498        (WebCore::Element::baseURI):
53499
535002010-02-02  Alexey Proskuryakov  <ap@apple.com>
53501
53502        Reviewed by Darin Adler.
53503
53504        https://bugs.webkit.org/show_bug.cgi?id=34076
53505        <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
53506
53507        Test: fast/forms/misplaced-img-form-registration.html
53508
53509        * html/HTMLFormElement.cpp:
53510        (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
53511        to vector again.
53512        (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
53513        that's actually registered.
53514
53515        * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails
53516        to insert the image element, then there will be no removed from tree notification either,
53517        need to unregister right away.
53518
535192010-02-02  Alexander Pavlov  <apavlov@chromium.org>
53520
53521        Reviewed by Pavel Feldman.
53522
53523        Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
53524
53525        Extract OS version into WebInspector.platformFlavor
53526        https://bugs.webkit.org/show_bug.cgi?id=34469
53527
53528        * inspector/front-end/InspectorBackendStub.js:
53529        * inspector/front-end/InspectorFrontendHostStub.js:
53530        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
53531        * inspector/front-end/inspector.css:
53532        * inspector/front-end/inspector.js:
53533        (WebInspector.pendingDispatches.0.URLRegExp.i.get platform):
53534        (WebInspector.get platformFlavor):
53535        (WebInspector._detectPlatformFlavor):
53536        (WebInspector.loaded):
53537        (WebInspector.toolbarDragStart):
53538        (WebInspector.isMac):
53539
535402010-02-02  Steve Block  <steveblock@google.com>
53541
53542        Reviewed by Ariya Hidayat.
53543
53544        Adds utility functions for converting between JavaInstance and NPAPI types
53545        https://bugs.webkit.org/show_bug.cgi?id=34468
53546
53547        This is required by Android for injecting objects into V8 JavaScript.
53548
53549        No new tests, added utility functions only.
53550
53551        * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
53552        * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
53553        (JSC::Bindings::AllocJavaNPObject):
53554        (JSC::Bindings::FreeJavaNPObject):
53555        (JSC::Bindings::):
53556        (JSC::Bindings::JavaInstanceToNPObject):
53557        (JSC::Bindings::ExtractJavaInstance):
53558        (JSC::Bindings::JavaNPObjectHasMethod):
53559        (JSC::Bindings::JavaNPObjectInvoke):
53560        (JSC::Bindings::JavaNPObjectHasProperty):
53561        (JSC::Bindings::JavaNPObjectGetProperty):
53562        * bridge/jni/v8/JavaNPObjectV8.h: Added.
53563
535642010-02-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
53565
53566        Reviewed by Ariya Hidayat.
53567
53568        [Qt] Symbian plugins include a wrong header file for QPixmap
53569        https://bugs.webkit.org/show_bug.cgi?id=34475
53570
53571        * plugins/symbian/PluginViewSymbian.cpp:
53572
535732010-02-02  Pavel Feldman  <pfeldman@chromium.org>
53574
53575        Reviewed by Timothy Hatcher.
53576
53577        Web Inspector: URLs are not syntax-higlighted as links in source view.
53578
53579        This change enables linkifier in the NativeTextViewer. It adds
53580        "linkify" and "a_node" parse states into the highlighter in order
53581        to detect links and distinguish between resource and external ones.
53582        Contains drive-by fix for the webkit-html-* styles and moves them to the
53583        common location.
53584
53585        https://bugs.webkit.org/show_bug.cgi?id=34364
53586
53587        * inspector/front-end/NativeTextViewer.js:
53588        (WebInspector.NativeTextViewer):
53589        (WebInspector.NativeTextViewer.prototype._createSpan):
53590        (WebInspector.NativeTextViewer.prototype._createLink):
53591        (WebInspector.NativeTextViewer.prototype._rewriteHref):
53592        * inspector/front-end/SourceFrame.js:
53593        (WebInspector.SourceFrame.prototype.setContent):
53594        (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
53595        * inspector/front-end/SourceHTMLTokenizer.js:
53596        (WebInspector.SourceHTMLTokenizer):
53597        (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
53598        (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
53599        (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
53600        (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
53601        (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
53602        (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
53603        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
53604        * inspector/front-end/SourceHTMLTokenizer.re2js:
53605        * inspector/front-end/SourceView.js:
53606        (WebInspector.SourceView.prototype._contentLoaded):
53607        * inspector/front-end/TextEditorHighlighter.js:
53608        (WebInspector.TextEditorHighlighter):
53609        * inspector/front-end/inspector.css:
53610        * inspector/front-end/inspectorSyntaxHighlight.css:
53611
536122010-02-02  Simon Hausmann  <simon.hausmann@nokia.com>
53613
53614        Reviewed by Ariya Hidayat.
53615
53616        [Qt] Install libraries and headers in package builds
53617        https://bugs.webkit.org/show_bug.cgi?id=34325
53618
53619        Add the QtWebKit libraries to the installable items, except on
53620        Symbian where the libraries are always linked in their final
53621        destination.
53622
53623        Also include the headers generated by syncqt in the installation.
53624
53625        * WebCore.pro:
53626
536272010-02-02  Kavita Kanetkar  <kkanetkar@chromium.org>
53628
53629        Reviewed by Dmitry Titov.
53630
53631        [V8] Raising an exception while setting timeout/interval from a detached frame
53632        https://bugs.webkit.org/show_bug.cgi?id=34453
53633        This fixes the issue/failing test mentioned in Chromium bug:
53634        http://code.google.com/p/chromium/issues/detail?id=32671
53635
53636
53637        * bindings/v8/custom/V8DOMWindowCustom.cpp:
53638        (WebCore::WindowSetTimeoutImpl):
53639
536402010-02-02  Kwang Yul Seo  <skyul@company100.net>
53641
53642        Reviewed by Eric Seidel.
53643
53644        [BREWMP] Port Screen
53645        https://bugs.webkit.org/show_bug.cgi?id=34299
53646
53647        Get the screen size and depth from the main display bitmap.
53648
53649        * platform/brew/ScreenBrew.cpp: Added.
53650        (WebCore::getDisplayInfo):
53651        (WebCore::screenRect):
53652        (WebCore::screenAvailableRect):
53653        (WebCore::screenDepth):
53654        (WebCore::screenDepthPerComponent):
53655        (WebCore::screenIsMonochrome):
53656
536572010-02-02  Kwang Yul Seo  <skyul@company100.net>
53658
53659        Reviewed by Eric Seidel.
53660
53661        [BREWMP] Port LocalizedStrings
53662        https://bugs.webkit.org/show_bug.cgi?id=34257
53663
53664        Port LocalizedStrings to BREWMP.
53665
53666        * platform/brew/LocalizedStringsBrew.cpp: Added.
53667        (WebCore::submitButtonDefaultLabel):
53668        (WebCore::inputElementAltText):
53669        (WebCore::resetButtonDefaultLabel):
53670        (WebCore::defaultLanguage):
53671        (WebCore::searchableIndexIntroduction):
53672        (WebCore::fileButtonChooseFileLabel):
53673        (WebCore::fileButtonNoFileSelectedLabel):
53674        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
53675        (WebCore::contextMenuItemTagDownloadLinkToDisk):
53676        (WebCore::contextMenuItemTagCopyLinkToClipboard):
53677        (WebCore::contextMenuItemTagOpenImageInNewWindow):
53678        (WebCore::contextMenuItemTagDownloadImageToDisk):
53679        (WebCore::contextMenuItemTagCopyImageToClipboard):
53680        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
53681        (WebCore::contextMenuItemTagCopy):
53682        (WebCore::contextMenuItemTagGoBack):
53683        (WebCore::contextMenuItemTagGoForward):
53684        (WebCore::contextMenuItemTagStop):
53685        (WebCore::contextMenuItemTagReload):
53686        (WebCore::contextMenuItemTagCut):
53687        (WebCore::contextMenuItemTagPaste):
53688        (WebCore::contextMenuItemTagNoGuessesFound):
53689        (WebCore::contextMenuItemTagIgnoreSpelling):
53690        (WebCore::contextMenuItemTagLearnSpelling):
53691        (WebCore::contextMenuItemTagSearchWeb):
53692        (WebCore::contextMenuItemTagLookUpInDictionary):
53693        (WebCore::contextMenuItemTagOpenLink):
53694        (WebCore::contextMenuItemTagIgnoreGrammar):
53695        (WebCore::contextMenuItemTagSpellingMenu):
53696        (WebCore::contextMenuItemTagShowSpellingPanel):
53697        (WebCore::contextMenuItemTagCheckSpelling):
53698        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
53699        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
53700        (WebCore::contextMenuItemTagFontMenu):
53701        (WebCore::contextMenuItemTagBold):
53702        (WebCore::contextMenuItemTagItalic):
53703        (WebCore::contextMenuItemTagUnderline):
53704        (WebCore::contextMenuItemTagOutline):
53705        (WebCore::contextMenuItemTagWritingDirectionMenu):
53706        (WebCore::contextMenuItemTagDefaultDirection):
53707        (WebCore::contextMenuItemTagLeftToRight):
53708        (WebCore::contextMenuItemTagRightToLeft):
53709        (WebCore::contextMenuItemTagInspectElement):
53710        (WebCore::searchMenuNoRecentSearchesText):
53711        (WebCore::searchMenuRecentSearchesText):
53712        (WebCore::searchMenuClearRecentSearchesText):
53713        (WebCore::unknownFileSizeText):
53714        (WebCore::AXWebAreaText):
53715        (WebCore::AXLinkText):
53716        (WebCore::AXListMarkerText):
53717        (WebCore::AXImageMapText):
53718        (WebCore::AXHeadingText):
53719        (WebCore::imageTitle):
53720        (WebCore::contextMenuItemTagTextDirectionMenu):
53721        (WebCore::AXButtonActionVerb):
53722        (WebCore::AXTextFieldActionVerb):
53723        (WebCore::AXRadioButtonActionVerb):
53724        (WebCore::AXCheckedCheckBoxActionVerb):
53725        (WebCore::AXUncheckedCheckBoxActionVerb):
53726        (WebCore::AXLinkActionVerb):
53727        (WebCore::AXMenuListPopupActionVerb):
53728        (WebCore::AXMenuListActionVerb):
53729        (WebCore::AXDefinitionListTermText):
53730        (WebCore::AXDefinitionListDefinitionText):
53731        (WebCore::validationMessageValueMissingText):
53732        (WebCore::validationMessageTypeMismatchText):
53733        (WebCore::validationMessagePatternMismatchText):
53734        (WebCore::validationMessageTooLongText):
53735        (WebCore::validationMessageRangeUnderflowText):
53736        (WebCore::validationMessageRangeOverflowText):
53737        (WebCore::validationMessageStepMismatchText):
53738
537392010-02-02  Kwang Yul Seo  <skyul@company100.net>
53740
53741        Reviewed by Eric Seidel.
53742
53743        [BREWMP] Port systemBeep
53744        https://bugs.webkit.org/show_bug.cgi?id=33601
53745
53746        Implement systemBeep with IShell_Beep.
53747
53748        * platform/brew/SoundBrew.cpp: Added.
53749        (WebCore::systemBeep):
53750
537512010-02-02  Shinichiro Hamaji  <hamaji@chromium.org>
53752
53753        Reviewed by Eric Seidel.
53754
53755        [Win] Utilize PrintContext to share the printing code with other ports
53756        https://bugs.webkit.org/show_bug.cgi?id=34312
53757
53758        No new tests as this is just a small refactoring.
53759
537602010-02-02  Kwang Yul Seo  <skyul@company100.net>
53761
53762        Reviewed by Eric Seidel.
53763
53764        [BREWMP] Add conversions between IntPoint and AEEPoint
53765        https://bugs.webkit.org/show_bug.cgi?id=34194
53766
53767        Make it easy to convert between IntPoint and AEEPoint.
53768
53769        * platform/graphics/IntPoint.h:
53770        * platform/graphics/brew/IntPointBrew.cpp: Added.
53771        (WebCore::IntPoint::IntPoint):
53772        (WebCore::IntPoint::operator AEEPoint):
53773
537742010-02-02  Steve Block  <steveblock@google.com>
53775
53776        Reviewed by Adam Barth.
53777
53778        Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
53779        https://bugs.webkit.org/show_bug.cgi?id=34434
53780
53781        No new tests, build fix only.
53782
53783        * bindings/v8/V8DOMMap.h: Modified.
53784        (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
53785        (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
53786
537872010-02-02  Avi Drissman  <avi@chromium.org>
53788
53789        Reviewed by Eric Seidel.
53790
53791        Sync up Chromium Mac render theme to Mac render theme
53792        https://bugs.webkit.org/show_bug.cgi?id=34340
53793
53794        Covered by existing layout tests.
53795
53796        * platform/chromium/ThemeChromiumMac.mm:
53797        (WebCore::updateStates):
53798        (WebCore::checkbox):
53799        (WebCore::paintCheckbox):
53800        (WebCore::radio):
53801        (WebCore::paintRadio):
53802        (WebCore::listButtonSizes):
53803        (WebCore::setupButtonCell):
53804        (WebCore::button):
53805        (WebCore::paintButton):
53806        (WebCore::ThemeChromiumMac::controlSize):
53807        (WebCore::ThemeChromiumMac::minimumControlSize):
53808        (WebCore::ThemeChromiumMac::controlBorder):
53809        (WebCore::ThemeChromiumMac::paint):
53810        * rendering/RenderThemeChromiumMac.h:
53811        * rendering/RenderThemeChromiumMac.mm:
53812        (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
53813        (WebCore::convertNSColorToColor):
53814        (WebCore::RenderThemeChromiumMac::systemColor):
53815        (WebCore::RenderThemeChromiumMac::isControlStyled):
53816        (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
53817        (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
53818        (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
53819        (WebCore::RenderThemeChromiumMac::paintMenuList):
53820        (WebCore::RenderThemeChromiumMac::paintMenuListButton):
53821        (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
53822        (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
53823        (WebCore::RenderThemeChromiumMac::paintSliderTrack):
53824        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
53825        (WebCore::RenderThemeChromiumMac::paintSearchField):
53826        (WebCore::RenderThemeChromiumMac::setSearchFieldSize):
53827        (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
53828        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
53829        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
53830        (WebCore::RenderThemeChromiumMac::popupButton):
53831        (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal):
53832        (WebCore::RenderThemeChromiumMac::sliderThumbVertical):
53833
538342010-02-02  Kwang Yul Seo  <skyul@company100.net>
53835
53836        Reviewed by Eric Seidel.
53837
53838        [BREWMP] Port Logging
53839        https://bugs.webkit.org/show_bug.cgi?id=34300
53840
53841        Log calls to notImplemented() by default.
53842
53843        * platform/brew/LoggingBrew.cpp: Added.
53844        (WebCore::InitializeLoggingChannelsIfNecessary):
53845
538462010-02-02  Kwang Yul Seo  <skyul@company100.net>
53847
53848        Reviewed by Eric Seidel.
53849
53850        [BREWMP] Port FileChooser
53851        https://bugs.webkit.org/show_bug.cgi?id=34261
53852
53853        Port FileChooser to BREWMP.
53854
53855        * platform/brew/FileChooserBrew.cpp: Added.
53856        (WebCore::FileChooser::basenameForWidth):
53857
538582010-02-01  Zoltan Horvath  <zoltan@webkit.org>
53859
53860        Reviewed by Darin Adler.
53861
53862        Allow custom memory allocation control for IconDatabaseClient class
53863        https://bugs.webkit.org/show_bug.cgi?id=33252
53864
53865        Inherits the following struct from Noncopyable because it is 
53866        instantiated by 'new' and no need to be copyable:
53867
53868        class name               - instantiated at: WebCore/'location'
53869        class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
53870
53871        * loader/icon/IconDatabaseClient.h:
53872
538732010-02-01  Kwang Yul Seo  <skyul@company100.net>
53874
53875        Reviewed by Eric Seidel.
53876
53877        [BREWMP] Port MIMETypeRegistry
53878        https://bugs.webkit.org/show_bug.cgi?id=34220
53879
53880        Port MIMETypeRegistry with an extension map as other ports do.
53881
53882        * platform/brew: Added.
53883        * platform/brew/MIMETypeRegistryBrew.cpp: Added.
53884        (WebCore::):
53885        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
53886
538872010-02-01  Dmitry Titov  <dimich@chromium.org>
53888
53889        Not reviewed, revert r54194 that fails new test on Qt and Chromium.
53890        https://bugs.webkit.org/show_bug.cgi?id=34382
53891
53892        * html/HTMLFrameElementBase.cpp:
53893        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
53894        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
53895        * html/HTMLFrameElementBase.h:
53896        * page/Frame.cpp:
53897        * page/Frame.h:
53898
538992010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
53900
53901        Reviewed by Eric Seidel.
53902
53903        Provide a way to get page number with layoutTestController
53904        https://bugs.webkit.org/show_bug.cgi?id=33840
53905
53906        Test: printing/page-break-always.html
53907
53908        * WebCore.base.exp:
53909        * WebCore.xcodeproj/project.pbxproj:
53910        * page/PrintContext.cpp:
53911        (WebCore::PrintContext::pageRect): Added a getter function.
53912        (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize.
53913        (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement.
53914        (WebCore::enclosingBoxModelObject): Added for pageNumberForElement.
53915        (WebCore::PrintContext::pageNumberForElement): Added for testing.
53916        * page/PrintContext.h:
53917
539182010-02-01  Kwang Yul Seo  <skyul@company100.net>
53919
53920        Reviewed by Eric Seidel.
53921
53922        [BREWMP] Add conversions between IntSize and AEESize
53923        https://bugs.webkit.org/show_bug.cgi?id=34197
53924
53925        Make it easy to convert between IntSize and AEESize.
53926
53927        * platform/graphics/IntSize.h:
53928        * platform/graphics/brew/IntSizeBrew.cpp: Added.
53929        (WebCore::IntSize::IntSize):
53930        (WebCore::IntSize::operator AEESize):
53931
539322010-02-01  Stephen White  <senorblanco@chromium.org>
53933
53934        Reviewed by Eric Seidel.
53935
53936        Fix for Pattern transformations in Chromium/Skia.  This required 
53937        reworking Pattern a bit to be more like the Gradient implementation.
53938        In particular, it now holds an m_pattern reference to the
53939        platform-specific implementation, and passes along changes to the
53940        m_patternSpaceTransformation, in the same way that Gradient does for
53941        m_gradientSpaceTransformation.  This is necessary since Skia creates the
53942        platform-specific pattern (SkShader) once, rather than recreating it
53943        on each draw.
53944        For platforms other than Skia, m_pattern is unused, they will
53945        continue to use the static createPlatformPattern(), and the new
53946        notification functions are stubbed out.  Other platforms can switch to
53947        the new implementation if they so choose.
53948
53949        https://bugs.webkit.org/show_bug.cgi?id=24534 
53950
53951        Covered by svg/custom/pattern-y-offset.svg,
53952        svg/custom/pattern-cycle-detection.svg, and many more.
53953
53954        * platform/graphics/Pattern.cpp:
53955        (WebCore::Pattern::Pattern):
53956        Initializer for m_pattern.
53957        (WebCore::Pattern::~Pattern):
53958        call platformDestroy().
53959        (WebCore::Pattern::setPatternSpaceTransform):
53960        Pass along the transform via setPlatformPatternSpaceTransform().
53961        (WebCore::Pattern::platformDestroy):
53962        (WebCore::Pattern::setPlatformPatternSpaceTransform):
53963        Stub implementations for non-skia platforms.
53964        * platform/graphics/Pattern.h:
53965        * platform/graphics/skia/GraphicsContextSkia.cpp:
53966        (WebCore::GraphicsContext::setPlatformFillPattern):
53967        (WebCore::GraphicsContext::setPlatformStrokePattern):
53968        Call platformPattern() instead of static version.
53969        Since Pattern now owns its SkShader, no need to unref here.
53970        * platform/graphics/skia/PatternSkia.cpp:
53971        (WebCore::Pattern::platformDestroy):
53972        Unref the SkShader on destroy.
53973        (WebCore::Pattern::platformPattern):
53974        Create the platform pattern (SkShader) once, and cache it.
53975        (WebCore::Pattern::setPlatformPatternSpaceTransform):
53976        Set the shader's local matrix from the m_patternSpaceTransformation.
53977
539782010-02-01  Daniel Bates  <dbates@webkit.org>
53979
53980        Reviewed by Adam Barth.
53981
53982        https://bugs.webkit.org/show_bug.cgi?id=27312
53983
53984        Implements support for full page blocking via the X-XSS-Protection header.
53985
53986        Tests: http/tests/security/xssAuditor/full-block-base-href.html
53987               http/tests/security/xssAuditor/full-block-get-from-iframe.html
53988               http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
53989               http/tests/security/xssAuditor/full-block-iframe-no-inherit.php
53990               http/tests/security/xssAuditor/full-block-javascript-link.html
53991               http/tests/security/xssAuditor/full-block-link-onclick.html
53992               http/tests/security/xssAuditor/full-block-object-tag.html
53993               http/tests/security/xssAuditor/full-block-post-from-iframe.html
53994               http/tests/security/xssAuditor/full-block-script-tag-with-source.html
53995               http/tests/security/xssAuditor/full-block-script-tag.html
53996               http/tests/security/xssAuditor/malformed-xss-protection-header.html
53997
53998        * page/XSSAuditor.cpp:
53999        (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added.
54000        (WebCore::XSSAuditor::findInRequest): Modified to call method
54001        XSSAuditor::shouldFullPageBlockForXSSProtectionHeader.
54002        * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader
54003        and fixed misspelled words in large comment block.
54004
540052010-02-01  Kwang Yul Seo  <skyul@company100.net>
54006
54007        Reviewed by Eric Seidel.
54008
54009        [BREWMP] Port SharedTimer with IShell_SetTimerEx.
54010        https://bugs.webkit.org/show_bug.cgi?id=33599
54011
54012        As fireTime passed in setSharedTimerFireTime is the absolute time,
54013        we must calcalute the interval by subtracting currentTime() from
54014        fireTime and pass the result to ISHELL_SetTimerEx.
54015
54016        * platform/brew/SharedTimerBrew.cpp: Added.
54017        (WebCore::invokeCallback):
54018        (WebCore::setSharedTimerFiredFunction):
54019        (WebCore::setSharedTimerFireTime):
54020        (WebCore::stopSharedTimer):
54021
540222010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
54023
54024        [Chromium] Unreviewed attempt to fix the chromium build.
54025
54026        Corresponding change: http://trac.webkit.org/changeset/54182
54027
54028        * bindings/scripts/CodeGeneratorV8.pm:
54029        * bindings/v8/ScriptController.cpp:
54030        (WebCore::ScriptController::processingUserGesture):
54031        * bindings/v8/ScriptController.h:
54032
540332010-02-01  Dmitry Titov  <dimich@chromium.org>
54034
54035        Reviewed by David Levin.
54036
54037        When a live iframe element is moved between pages, it still depends on the old page.
54038        https://bugs.webkit.org/show_bug.cgi?id=34382
54039
54040        Test: fast/frames/iframe-reparenting-new-page.html
54041
54042        * html/HTMLFrameElementBase.cpp:
54043        (WebCore::HTMLFrameElementBase::setName):
54044        Move the code setting the frame name into a separate function.
54045
54046        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
54047        (WebCore::HTMLFrameElementBase::updateLiveFrame):
54048        Update frame tree, reset page in the contentFrame and re-set the name.
54049
54050        (WebCore::HTMLFrameElementBase::insertedIntoDocument): 
54051        * html/HTMLFrameElementBase.h:
54052
54053        * page/Frame.cpp:
54054        (WebCore::Frame::setPage):
54055        * page/Frame.h: Add setPage method. It is only currently used when iframe is
54056                        moved between pages (so the ASSERT(m_ownerElement).
54057
540582010-02-01  Brady Eidson  <beidson@apple.com>
54059
54060        Reviewed by Tim Hatcher.
54061
54062        Add common IRC ports to port blocking.
54063        <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
54064
54065        * platform/KURL.cpp:
54066        (WebCore::portAllowed):
54067
540682010-01-29  Jeremy Orlow  <jorlow@chromium.org>
54069
54070        Reviewed by Nate Chapin.
54071
54072        [V8] Add compile time guards for IndexedDB custom functions
54073        https://bugs.webkit.org/show_bug.cgi?id=34368
54074
54075        * bindings/v8/custom/V8IDBRequestCustom.cpp:
54076        * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
54077
540782010-01-29  Gavin Barraclough  <barraclough@apple.com>
54079
54080        Reviewed by Sam Weinig + Oliver Hunt.
54081
54082        Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
54083
54084        Change HTMLMediaElement methods that require checking whether the event is a user gesture to
54085        be passed a boolean.  This may be passed from the JSC bindings (where we have an exec state),
54086        or read from the event.  Add a Flag to the IDL to mark this information is required.
54087
54088        * WebCore.Video.exp:
54089        * bindings/js/JSDOMBinding.cpp:
54090        (WebCore::processingUserGesture):
54091        * bindings/js/JSDOMWindowCustom.cpp:
54092        (WebCore::domWindowAllowPopUp):
54093        (WebCore::JSDOMWindow::open):
54094        (WebCore::JSDOMWindow::showModalDialog):
54095        * bindings/js/JSDocumentCustom.cpp:
54096        (WebCore::JSDocument::setLocation):
54097        * bindings/js/ScriptController.cpp:
54098        (WebCore::ScriptController::processingUserGesture):
54099        (WebCore::ScriptController::processingUserGestureEvent):
54100        (WebCore::ScriptController::anyPageIsProcessingUserGesture):
54101        * bindings/js/ScriptController.h:
54102        * bindings/scripts/CodeGeneratorJS.pm:
54103        * dom/Event.cpp:
54104        (WebCore::Event::isUserEvent):
54105        * dom/Event.h:
54106        * html/HTMLMediaElement.cpp:
54107        (WebCore::HTMLMediaElement::removedFromDocument):
54108        (WebCore::HTMLMediaElement::load):
54109        (WebCore::HTMLMediaElement::play):
54110        (WebCore::HTMLMediaElement::pause):
54111        (WebCore::HTMLMediaElement::beginScrubbing):
54112        (WebCore::HTMLMediaElement::documentDidBecomeActive):
54113        (WebCore::HTMLMediaElement::webkitEnterFullScreen):
54114        * html/HTMLMediaElement.h:
54115        * html/HTMLMediaElement.idl:
54116        * loader/FrameLoader.cpp:
54117        (WebCore::FrameLoader::isProcessingUserGesture):
54118        * loader/MediaDocument.cpp:
54119        (WebCore::MediaDocument::defaultEventHandler):
54120        * page/DOMWindow.cpp:
54121        (WebCore::DOMWindow::allowPopUp):
54122        * rendering/MediaControlElements.cpp:
54123        (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
54124
541252010-02-01  Andreas Kling  <andreas.kling@nokia.com>
54126
54127        Reviewed by Kenneth Rohde Christiansen.
54128
54129        [Qt] Use the fallback style on Maemo 5
54130
54131        https://bugs.webkit.org/show_bug.cgi?id=34376
54132
54133        * platform/qt/RenderThemeQt.cpp:
54134        (WebCore::RenderThemeQt::RenderThemeQt):
54135        (WebCore::RenderThemeQt::fallbackStyle):
54136        (WebCore::RenderThemeQt::qStyle):
54137        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
54138        * platform/qt/RenderThemeQt.h:
54139
541402010-02-01  Kavita Kanetkar  <kkanetkar@chromium.org>
54141
54142        Reviewed by Nate Chapin.
54143
54144        [V8] Making V8 generated classes' GetTemplate() function public
54145        https://bugs.webkit.org/show_bug.cgi?id=34026
54146
54147        * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
54148
541492010-02-01  Steve Block  <steveblock@google.com>
54150
54151        Reviewed by Ariya Hidayat.
54152
54153        Adds V8-specific JNI bridge classes
54154        https://bugs.webkit.org/show_bug.cgi?id=34166
54155
54156        This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
54157
54158        No new tests, build fix only.
54159
54160        * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
54161        * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
54162        * bridge/jni/v8/JNIBridgeV8.cpp: Added.
54163        (JavaField::JavaField):
54164        * bridge/jni/v8/JNIBridgeV8.h: Added.
54165        (JSC::Bindings::JavaField::name):
54166        (JSC::Bindings::JavaField::type):
54167        (JSC::Bindings::JavaField::getJNIType):
54168
541692010-02-01  Steve Block  <steveblock@google.com>
54170
54171        Reviewed by Ariya Hidayat.
54172
54173        Adds V8-specific JNI utility functions.
54174        https://bugs.webkit.org/show_bug.cgi?id=33901
54175
54176        This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
54177
54178        No new tests, build fix only.
54179
54180        * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp
54181        * bridge/jni/v8/JNIUtilityPrivate.cpp: Added.
54182        (JSC::Bindings::convertNPVariantToJValue):
54183        (JSC::Bindings::convertJValueToNPVariant):
54184        * bridge/jni/v8/JNIUtilityPrivate.h: Added.
54185
541862010-02-01  Steve Block  <steveblock@google.com>
54187
54188        Reviewed by Ariya Hidayat.
54189
54190        Adds V8 version of JavaClass
54191        https://bugs.webkit.org/show_bug.cgi?id=33898
54192
54193        This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
54194
54195        No new tests, build fix only.
54196
54197        * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp
54198        * bridge/jni/v8/JavaClassV8.cpp: Added.
54199        (JavaClass::JavaClass):
54200        (JavaClass::~JavaClass):
54201        (JavaClass::methodsNamed):
54202        (JavaClass::fieldNamed):
54203        * bridge/jni/v8/JavaClassV8.h: Added.
54204
542052010-02-01  Steve Block  <steveblock@google.com>
54206
54207        Reviewed by Ariya Hidayat.
54208
54209        Adds V8 version of JavaInstance
54210        https://bugs.webkit.org/show_bug.cgi?id=33951
54211
54212        This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
54213        Also fixes a typo in a comment in JavaInstanceJSC.cpp.
54214
54215        No new tests, build fix only.
54216
54217        * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp
54218        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified.
54219        (JavaInstance::invokeMethod): Modified. Fixed comment
54220        * bridge/jni/v8/JavaInstanceV8.cpp: Added.
54221        (JavaInstance::JavaInstance):
54222        (JavaInstance::~JavaInstance):
54223        (JavaInstance::getClass):
54224        (JavaInstance::invokeMethod):
54225        (JObjectWrapper::JObjectWrapper):
54226        (JObjectWrapper::~JObjectWrapper):
54227        * bridge/jni/v8/JavaInstanceV8.h: Added.
54228        (JSC::Bindings::JObjectWrapper::instance):
54229        (JSC::Bindings::JObjectWrapper::setInstance):
54230        (JSC::Bindings::JObjectWrapper::ref):
54231        (JSC::Bindings::JObjectWrapper::deref):
54232        (JSC::Bindings::JavaInstance::javaInstance):
54233        (JSC::Bindings::JavaInstance::begin):
54234        (JSC::Bindings::JavaInstance::end):
54235        (JSC::Bindings::JavaInstance::virtualBegin):
54236        (JSC::Bindings::JavaInstance::virtualEnd):
54237
542382010-02-01  Dumitru Daniliuc  <dumi@chromium.org>
54239
54240        Reviewed by Eric Seidel.
54241
54242        Making sure that all in-progress transactions are rolled back on
54243        the database thread before they're destroyed. Otherwise,
54244        SQLiteTransaction's destructor will try to do a rollback and that
54245        would cause an assertion failure, if the object is not destroyed
54246        on the DB thread.
54247
54248        https://bugs.webkit.org/show_bug.cgi?id=34152
54249
54250        * platform/sql/SQLiteTransaction.cpp:
54251        (WebCore::SQLiteTransaction::stop):
54252        * storage/SQLTransaction.cpp:
54253        (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
54254        * storage/SQLTransaction.h:
54255        * storage/SQLTransactionCoordinator.cpp:
54256        (WebCore::SQLTransactionCoordinator::shutdown):
54257
542582010-02-01  Sam Weinig  <sam@webkit.org>
54259
54260        Reviewed by Beth Dakin.
54261
54262        Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
54263
54264        * page/EventHandler.h:
54265        * page/mac/EventHandlerMac.mm:
54266        (WebCore::EventHandler::currentNSEvent):
54267        (WebCore::EventHandler::currentKeyboardEvent):
54268        (WebCore::EventHandler::mouseDown):
54269        (WebCore::EventHandler::mouseDragged):
54270        (WebCore::EventHandler::mouseUp):
54271        (WebCore::EventHandler::mouseMoved):
54272        (WebCore::EventHandler::keyEvent):
54273        (WebCore::EventHandler::wheelEvent):
54274        (WebCore::EventHandler::sendContextMenuEvent):
54275        (WebCore::EventHandler::eventMayStartDrag):
54276        (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
54277
542782010-02-01  Nate Chapin  <japhet@chromium.org>
54279
54280        Unreviewed, Chromium build fix.
54281
54282        Failed to properly add new files for http://trac.webkit.org/changeset/54150.
54283
54284        * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
54285        * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
54286        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
54287        * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
54288        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
54289        * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
54290        * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
54291        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
54292        * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
54293        * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
54294        * bindings/v8/custom/V8ScreenCustom.cpp: Added.
54295        * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
54296        * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
54297
542982010-01-27  Matt Perry  <mpcomplete@chromium.org>
54299
54300        Reviewed by Eric Seidel.
54301
54302        Add support for addUserScript to chromium port.
54303
54304        * bindings/v8/ScriptController.cpp:
54305        (WebCore::ScriptController::evaluateInWorld):
54306        * bindings/v8/ScriptController.h:
54307
543082010-02-01  Eric Carlson  <eric.carlson@apple.com>
54309
54310        Reviewed by Dan Bernstein.
54311
54312        https://bugs.webkit.org/show_bug.cgi?id=34448
54313        <rdar://problem/7598130>
54314
54315        RenderVideo::intrinsicSizeChanged infinite recursion
54316
54317        * rendering/RenderImage.h:
54318        (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
54319            be called by RenderVideo.
54320        * rendering/RenderVideo.cpp:
54321        (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
54322            RenderVideo::intrinsicSizeChanged.
54323        (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of 
54324            RenderImage::imageChanged.
54325
543262010-02-01  Nate Chapin  <japhet@chromium.org>
54327
54328        Reviewed by Dimitri Glazkov.
54329
54330        [V8] Generate toV8() converter for most WebCore->V8 conversions,
54331        and defined custom converters in their respective V8<class>Custom.cpp.
54332
54333        Old converters in V8DOMWrapper will be deleted in a later patch.
54334
54335        https://bugs.webkit.org/show_bug.cgi?id=32563
54336
54337        * Android.v8bindings.mk:
54338        * WebCore.gyp/WebCore.gyp:
54339        * WebCore.gypi:
54340        * bindings/scripts/CodeGeneratorV8.pm:
54341        * bindings/v8/V8Collection.h:
54342        * bindings/v8/V8DOMWrapper.cpp:
54343        * bindings/v8/V8DOMWrapper.h:
54344        * bindings/v8/V8Proxy.h:
54345        * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
54346        * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
54347        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
54348        * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
54349        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
54350        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
54351        * bindings/v8/custom/V8ConsoleCustom.cpp:
54352        * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
54353        * bindings/v8/custom/V8DOMWindowCustom.cpp:
54354        * bindings/v8/custom/V8DocumentCustom.cpp:
54355        * bindings/v8/custom/V8ElementCustom.cpp:
54356        * bindings/v8/custom/V8EventCustom.cpp:
54357        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
54358        * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
54359        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
54360        * bindings/v8/custom/V8HistoryCustom.cpp:
54361        * bindings/v8/custom/V8LocationCustom.cpp:
54362        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
54363        * bindings/v8/custom/V8NavigatorCustom.cpp:
54364        * bindings/v8/custom/V8NodeCustom.cpp:
54365        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
54366        * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
54367        * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
54368        * bindings/v8/custom/V8ScreenCustom.cpp: Added.
54369        * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
54370        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
54371        * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
54372        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
54373        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
54374        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
54375        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
54376        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
54377        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
54378        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
54379        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
54380        * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
54381
543822010-02-01  Alexander Pavlov  <apavlov@chromium.org>
54383
54384        Reviewed by Pavel Feldman.
54385
54386        Web Inspector: lazy-load textual resources to avoid UI hangup
54387        https://bugs.webkit.org/show_bug.cgi?id=34332
54388
54389        * inspector/front-end/ResourceView.js:
54390        (WebInspector.ResourceView.prototype._innerSelectContentTab):
54391        * inspector/front-end/SourceView.js:
54392        (WebInspector.SourceView.prototype.show):
54393        (WebInspector.SourceView.prototype.contentTabSelected):
54394
543952010-02-01  Brady Eidson  <beidson@apple.com>
54396
54397        Reviewed by Adele Peterson.
54398
54399        Crash in Safari opening new tabs to "same page"
54400        <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
54401
54402        Test: fast/loader/crash-copying-backforwardlist.html
54403
54404        * loader/FrameLoader.cpp:
54405        (WebCore::FrameLoader::loadItem): Null check currentItem().
54406
54407        * page/Page.cpp:
54408        (WebCore::Page::goToItem): Ditto.
54409
544102010-02-01  Kevin Watters  <kevinwatters@gmail.com>
54411
54412        Reviewed by Kevin Ollivier.
54413
54414        [wx] Remove unused file that doesn't seem to belong to the port.
54415        
54416        https://bugs.webkit.org/show_bug.cgi?id=34445
54417
54418        * platform/wx/KeyEventWin.cpp: Removed.
54419
544202010-02-01  Eric Carlson  <eric.carlson@apple.com>
54421
54422        Reviewed by Adele Peterson.
54423
54424        Fullscreen API should be on HTMLVideoElement
54425        https://bugs.webkit.org/show_bug.cgi?id=34438
54426        
54427        Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
54428
54429        * html/HTMLMediaElement.cpp:
54430        * html/HTMLMediaElement.h:
54431        * html/HTMLMediaElement.idl:
54432        * html/HTMLVideoElement.cpp:
54433        (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
54434        (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
54435        (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
54436        (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
54437        (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
54438        (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
54439        * html/HTMLVideoElement.h:
54440        * html/HTMLVideoElement.idl:
54441
544422010-02-01  Pavel Feldman  <pfeldman@chromium.org>
54443
54444        Reviewed by Timothy Hatcher.
54445
54446        Web Inspector: Syntax highlighting in source view of
54447        Resources pane stops half-way.
54448
54449        There were two problems here: (1) styles for html highlighter were not
54450        added into the css file (they used to be injected manually in the
54451        SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
54452        Otherwise unbalanced quotes in the text nodes were matching too match
54453        into the string tokens.
54454
54455        https://bugs.webkit.org/show_bug.cgi?id=34359
54456
54457        * inspector/front-end/NativeTextViewer.js:
54458        (WebInspector.NativeTextViewer.prototype._createLineDivs):
54459        (WebInspector.NativeTextViewer.prototype._lineHeight):
54460        (WebInspector.NativeTextViewer.prototype.initFontMetrics):
54461        * inspector/front-end/SourceFrame.js:
54462        (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
54463        * inspector/front-end/SourceHTMLTokenizer.js:
54464        (WebInspector.SourceHTMLTokenizer):
54465        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
54466        * inspector/front-end/SourceHTMLTokenizer.re2js:
54467        * inspector/front-end/TextEditor.js:
54468        (WebInspector.TextEditor.prototype.initFontMetrics):
54469        (WebInspector.TextEditor.prototype._registerShortcuts):
54470        * inspector/front-end/inspectorSyntaxHighlight.css:
54471
544722010-02-01  Ben Murdoch  <benm@google.com>
54473
54474        Reviewed by Darin Adler.
54475
54476        ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
54477        https://bugs.webkit.org/show_bug.cgi?id=34335
54478
54479        * bindings/js/ScriptCallStack.cpp:
54480        (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still available so pass it to the ScriptCallFrame being constructed.
54481
544822010-02-01  Dirk Schulze  <krit@webkit.org>
54483
54484        Reviewed by Simon Fraser.
54485
54486        Add back an AffineTransform class for use by SVG
54487        https://bugs.webkit.org/show_bug.cgi?id=33750
54488
54489        These are the first steps on reimplementing AffineTransform. Unlike
54490        the old affine code, this one is platform independent like TransformationMatrix.
54491        AffineTransform has the benefit, that it stores just 6 doubles instead of
54492        16 in TransformationMatrix. The calculations of transformations are not that
54493        complex and can improve the memory usage and speed of SVG.
54494        AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
54495        least for the moment).
54496        HTML Canvas is the first that makes use of the new AffineTransform. Next patches
54497        will introduce the affine code to SVG.
54498
54499        No new tests. The new AffineTransformation code is tested by fast/canvas.
54500
54501        * Android.mk:
54502        * GNUmakefile.am:
54503        * WebCore.gypi:
54504        * WebCore.pro:
54505        * WebCore.vcproj/WebCore.vcproj:
54506        * WebCore.xcodeproj/project.pbxproj:
54507        * html/canvas/CanvasRenderingContext2D.cpp:
54508        (WebCore::CanvasRenderingContext2D::scale):
54509        (WebCore::CanvasRenderingContext2D::rotate):
54510        (WebCore::CanvasRenderingContext2D::translate):
54511        (WebCore::CanvasRenderingContext2D::transform):
54512        (WebCore::CanvasRenderingContext2D::setTransform):
54513        (WebCore::CanvasRenderingContext2D::isPointInPath):
54514        (WebCore::CanvasRenderingContext2D::willDraw):
54515        * html/canvas/CanvasRenderingContext2D.h:
54516        * platform/graphics/GraphicsContext.h:
54517        * platform/graphics/Path.h:
54518        * platform/graphics/cairo/GraphicsContextCairo.cpp:
54519        (WebCore::GraphicsContext::getAffineCTM):
54520        (WebCore::GraphicsContext::concatCTM):
54521        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54522        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54523        * platform/graphics/cairo/PathCairo.cpp:
54524        (WebCore::Path::transform):
54525        * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54526        (WebCore::AffineTransform::operator cairo_matrix_t):
54527        * platform/graphics/cg/GraphicsContextCG.cpp:
54528        (WebCore::GraphicsContext::concatCTM):
54529        (WebCore::GraphicsContext::getAffineCTM):
54530        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54531        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54532        * platform/graphics/cg/PathCG.cpp:
54533        (WebCore::Path::transform):
54534        * platform/graphics/cg/TransformationMatrixCG.cpp:
54535        (WebCore::AffineTransform::operator CGAffineTransform):
54536        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54537        (WebCore::GraphicsContext::getAffineCTM):
54538        (WebCore::GraphicsContext::concatCTM):
54539        * platform/graphics/haiku/PathHaiku.cpp:
54540        (WebCore::Path::transform):
54541        * platform/graphics/qt/GraphicsContextQt.cpp:
54542        (WebCore::GraphicsContext::getAffineCTM):
54543        (WebCore::GraphicsContext::concatCTM):
54544        * platform/graphics/qt/PathQt.cpp:
54545        (WebCore::Path::transform):
54546        * platform/graphics/qt/TransformationMatrixQt.cpp:
54547        (WebCore::AffineTransform::operator QTransform):
54548        * platform/graphics/skia/GraphicsContextSkia.cpp:
54549        (WebCore::GraphicsContext::concatCTM):
54550        (WebCore::GraphicsContext::getAffineCTM):
54551        * platform/graphics/skia/PathSkia.cpp:
54552        (WebCore::Path::transform):
54553        * platform/graphics/skia/TransformationMatrixSkia.cpp:
54554        (WebCore::AffineTransform::operator SkMatrix):
54555        * platform/graphics/transforms/AffineTransform.cpp: Added.
54556        (WebCore::affineTransformDecompose):
54557        (WebCore::affineTransformCompose):
54558        (WebCore::AffineTransform::AffineTransform):
54559        (WebCore::AffineTransform::reset):
54560        (WebCore::AffineTransform::setMatrix):
54561        (WebCore::AffineTransform::isIdentity):
54562        (WebCore::AffineTransform::det):
54563        (WebCore::AffineTransform::isInvertible):
54564        (WebCore::AffineTransform::inverse):
54565        (WebCore::AffineTransform::multiply):
54566        (WebCore::AffineTransform::multLeft):
54567        (WebCore::AffineTransform::rotate):
54568        (WebCore::AffineTransform::scale):
54569        (WebCore::AffineTransform::translate):
54570        (WebCore::AffineTransform::scaleNonUniform):
54571        (WebCore::AffineTransform::rotateFromVector):
54572        (WebCore::AffineTransform::flipX):
54573        (WebCore::AffineTransform::flipY):
54574        (WebCore::AffineTransform::shear):
54575        (WebCore::AffineTransform::skew):
54576        (WebCore::AffineTransform::skewX):
54577        (WebCore::AffineTransform::skewY):
54578        (WebCore::makeMapBetweenRects):
54579        (WebCore::AffineTransform::map):
54580        (WebCore::AffineTransform::mapPoint):
54581        (WebCore::AffineTransform::mapRect):
54582        (WebCore::AffineTransform::blend):
54583        (WebCore::AffineTransform::toTransformationMatrix):
54584        * platform/graphics/transforms/AffineTransform.h: Added.
54585        (WebCore::AffineTransform::a):
54586        (WebCore::AffineTransform::setA):
54587        (WebCore::AffineTransform::b):
54588        (WebCore::AffineTransform::setB):
54589        (WebCore::AffineTransform::c):
54590        (WebCore::AffineTransform::setC):
54591        (WebCore::AffineTransform::d):
54592        (WebCore::AffineTransform::setD):
54593        (WebCore::AffineTransform::e):
54594        (WebCore::AffineTransform::setE):
54595        (WebCore::AffineTransform::f):
54596        (WebCore::AffineTransform::setF):
54597        (WebCore::AffineTransform::operator== ):
54598        (WebCore::AffineTransform::operator!=):
54599        (WebCore::AffineTransform::operator*=):
54600        (WebCore::AffineTransform::operator*):
54601        (WebCore::AffineTransform::setMatrix):
54602        * platform/graphics/win/GraphicsContextWin.cpp:
54603        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54604        * platform/graphics/wince/GraphicsContextWince.cpp:
54605        (WebCore::GraphicsContext::concatCTM):
54606        (WebCore::GraphicsContext::getAffineCTM):
54607        * platform/graphics/wx/GraphicsContextWx.cpp:
54608        (WebCore::GraphicsContext::getAffineCTM):
54609        (WebCore::GraphicsContext::concatCTM):
54610        * platform/graphics/wx/PathWx.cpp:
54611        (WebCore::Path::transform):
54612        * platform/graphics/wx/TransformationMatrixWx.cpp:
54613        (WebCore::AffineTransform::operator wxGraphicsMatrix):
54614
546152010-01-29  Philippe Normand  <pnormand@igalia.com>
54616
54617        Reviewed by Eric Carlson.
54618
54619        [GTK] set playbin mute property depending on volume value
54620        https://bugs.webkit.org/show_bug.cgi?id=31586
54621
54622        New API in MediaPlayer for mute control. 3 new methods are
54623        introduced:
54624
54625        - bool supportsMuting() const;
54626        - bool muted() const;
54627        - void setMuted(bool);
54628
54629        Platform MediaPlayer implementations can support it easily if the
54630        underlying sound daemon/API supports muting (eg. not only setting
54631        volume to 0) like PulseAudio for instance on Linux. At the moment
54632        the only player supporting this new API is the
54633        MediaPlayerPrivateGStreamer.
54634
54635        * html/HTMLMediaElement.cpp:
54636        (WebCore::HTMLMediaElement::setMuted):
54637        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
54638        (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
54639        * html/HTMLMediaElement.h:
54640        * platform/graphics/MediaPlayer.cpp:
54641        (WebCore::NullMediaPlayerPrivate::supportsMuting):
54642        (WebCore::NullMediaPlayerPrivate::setMuted):
54643        (WebCore::MediaPlayer::MediaPlayer):
54644        (WebCore::MediaPlayer::muted):
54645        (WebCore::MediaPlayer::supportsMuting):
54646        (WebCore::MediaPlayer::setMuted):
54647        (WebCore::MediaPlayer::volumeChanged):
54648        (WebCore::MediaPlayer::muteChanged):
54649        * platform/graphics/MediaPlayer.h:
54650        (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
54651        * platform/graphics/MediaPlayerPrivate.h:
54652        (WebCore::MediaPlayerPrivateInterface::supportsMuting):
54653        (WebCore::MediaPlayerPrivateInterface::setMuted):
54654        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
54655        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
54656        (WebCore::notifyVolumeIdleCallback):
54657        (WebCore::mediaPlayerPrivateMuteChangedCallback):
54658        (WebCore::notifyMuteIdleCallback):
54659        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
54660        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
54661        (WebCore::MediaPlayerPrivate::volumeChangedCallback):
54662        (WebCore::MediaPlayerPrivate::volumeChanged):
54663        (WebCore::MediaPlayerPrivate::supportsMuting):
54664        (WebCore::MediaPlayerPrivate::setMuted):
54665        (WebCore::MediaPlayerPrivate::muteChangedCallback):
54666        (WebCore::MediaPlayerPrivate::muteChanged):
54667        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
54668        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
54669
546702010-02-01  Henry Haverinen  <henry.haverinen@nokia.com>
54671
54672        Reviewed by Simon Hausmann.
54673
54674        [Qt] Build without SSL support is broken
54675
54676        Added missing #ifdefs for OpenSSL support and one null-pointer
54677        check for the socket.
54678
54679        https://bugs.webkit.org/show_bug.cgi?id=34416
54680
54681        * platform/network/qt/SocketStreamHandlePrivate.h:
54682        * platform/network/qt/SocketStreamHandleQt.cpp:
54683        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
54684        (WebCore::SocketStreamHandlePrivate::send):
54685
546862010-02-01  Pavel Feldman  <pfeldman@chromium.org>
54687
54688        Reviewed by Timothy Hatcher.
54689
54690        Web Inspector: Fix rest of the NativeTextViewer (line numbers,
54691        conditional breakpoints, selection).
54692
54693        * inspector/front-end/NativeTextViewer.js:
54694        (WebInspector.NativeTextViewer):
54695        (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
54696        (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
54697        (WebInspector.NativeTextViewer.prototype._mouseDown):
54698        (WebInspector.NativeTextViewer.prototype._contextMenu):
54699        (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
54700        (WebInspector.NativeTextViewer.prototype._lineHeight):
54701        * inspector/front-end/TextEditor.js:
54702        (WebInspector.TextEditor):
54703        (WebInspector.TextEditor.prototype._registerMouseListeners):
54704        (WebInspector.TextEditor.prototype._offsetToLine):
54705        (WebInspector.TextEditor.prototype._lineHeight):
54706        (WebInspector.TextEditor.prototype.reveal):
54707        (WebInspector.TextEditor.prototype._paint):
54708        (WebInspector.TextEditor.prototype._updateDivDecorations):
54709        (WebInspector.TextEditor.prototype._paintSelection):
54710
547112010-02-01  Steve Block  <steveblock@google.com>
54712
54713        Reviewed by Ariya Hidayat.
54714
54715        Adds implementation of JavaString for V8.
54716        https://bugs.webkit.org/show_bug.cgi?id=33953
54717
54718        No new tests, build fix only.
54719
54720        * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
54721        * bridge/jni/v8: Added.
54722        * bridge/jni/v8/JavaStringV8.h: Added.
54723        (JSC::Bindings::JavaStringImpl::init):
54724        (JSC::Bindings::JavaStringImpl::UTF8String):
54725        (JSC::Bindings::JavaStringImpl::uchars):
54726        (JSC::Bindings::JavaStringImpl::length):
54727
547282010-02-01  Alex Milowski  <alex@milowski.com>
54729
54730        Reviewed by Darin Adler.
54731
54732        Added compile time debug support for mathml layout (block boundary & baseline)
54733
54734        * mathml/RenderMathMLBlock.cpp:
54735        (WebCore::RenderMathMLBlock::stretchToHeight):
54736        (WebCore::RenderMathMLBlock::paint):
54737        * mathml/RenderMathMLBlock.h:
54738
547392010-02-01  Philippe Normand  <pnormand@igalia.com>
54740
54741        Rubber stamped by Xan Lopez.
54742
54743        Fixed compilation warning about unsigned vs signed comparison.
54744
54745        * plugins/gtk/PluginViewGtk.cpp:
54746        (WebCore::PluginView::paint):
54747
547482010-01-31  Kent Tamura  <tkent@chromium.org>
54749
54750        Unreviewed. Revert r54112 and r54124 because of Windows build error.
54751
54752        * Android.mk:
54753        * GNUmakefile.am:
54754        * WebCore.gypi:
54755        * WebCore.pro:
54756        * WebCore.vcproj/WebCore.vcproj:
54757        * WebCore.xcodeproj/project.pbxproj:
54758        * html/canvas/CanvasRenderingContext2D.cpp:
54759        (WebCore::CanvasRenderingContext2D::scale):
54760        (WebCore::CanvasRenderingContext2D::rotate):
54761        (WebCore::CanvasRenderingContext2D::translate):
54762        (WebCore::CanvasRenderingContext2D::transform):
54763        (WebCore::CanvasRenderingContext2D::setTransform):
54764        (WebCore::CanvasRenderingContext2D::isPointInPath):
54765        (WebCore::CanvasRenderingContext2D::willDraw):
54766        * html/canvas/CanvasRenderingContext2D.h:
54767        * platform/graphics/GraphicsContext.h:
54768        * platform/graphics/Path.h:
54769        * platform/graphics/cairo/GraphicsContextCairo.cpp:
54770        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54771        * platform/graphics/cairo/PathCairo.cpp:
54772        * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54773        * platform/graphics/cg/GraphicsContextCG.cpp:
54774        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54775        * platform/graphics/cg/PathCG.cpp:
54776        * platform/graphics/cg/TransformationMatrixCG.cpp:
54777        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54778        * platform/graphics/haiku/PathHaiku.cpp:
54779        * platform/graphics/qt/GraphicsContextQt.cpp:
54780        * platform/graphics/qt/PathQt.cpp:
54781        * platform/graphics/qt/TransformationMatrixQt.cpp:
54782        * platform/graphics/skia/GraphicsContextSkia.cpp:
54783        * platform/graphics/skia/PathSkia.cpp:
54784        * platform/graphics/skia/TransformationMatrixSkia.cpp:
54785        * platform/graphics/transforms/AffineTransform.cpp: Removed.
54786        * platform/graphics/transforms/AffineTransform.h: Removed.
54787        * platform/graphics/wince/GraphicsContextWince.cpp:
54788        * platform/graphics/wx/GraphicsContextWx.cpp:
54789        * platform/graphics/wx/PathWx.cpp:
54790        * platform/graphics/wx/TransformationMatrixWx.cpp:
54791        (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
54792
547932010-01-31  Kwang Yul Seo  <skyul@company100.net>
54794
54795        Reviewed by Darin Adler.
54796
54797        Limit the scope of packing alignment to avoid MSVC C4103 warning.
54798        https://bugs.webkit.org/show_bug.cgi?id=34390
54799
54800        Use pack(push, 16) and pack(pop) to limit the scope of packing
54801        alignment change.
54802
54803        * bindings/js/JSSVGPODTypeWrapper.h:
54804
548052010-01-31  Kent Tamura  <tkent@chromium.org>
54806
54807        Reviewed by Darin Adler.
54808
54809        Fix valueAsNumber calculation for type=month.
54810        https://bugs.webkit.org/show_bug.cgi?id=34304
54811
54812        valueAsNumber calculation for type=month which was checked in as
54813        r53893 was the number of milliseconds since UNIX epoch, and it was
54814        wrong. The correct way is the number months since UNIX epoch.
54815
54816        * html/DateComponents.cpp:
54817        (WebCore::DateComponents::setMonthsSinceEpoch):
54818        (WebCore::DateComponents::monthsSinceEpoch):
54819        * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
54820        * html/HTMLInputElement.cpp:
54821        (WebCore::HTMLInputElement::parseToDouble):
54822          Switch to monthsSinceEpoch() for type=MONTH.
54823        (WebCore::HTMLInputElement::valueAsDate):
54824          Add code with millisecondsSinceEpoch() for MONTH because
54825          parseToDouble() changed its behavior.
54826        (WebCore::HTMLInputElement::setValueAsNumber):
54827          Use setMonthsSinceEpoch() for MONTH.
54828
548292010-01-31  Dan Bernstein  <mitz@apple.com>
54830
54831        Reviewed by Timothy Hatcher.
54832
54833        Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
54834        https://bugs.webkit.org/show_bug.cgi?id=34398
54835
54836        * inspector/front-end/inspector.css: Specify line-height: normal for
54837        ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
54838
548392010-01-28  Ojan Vafai  <ojan@chromium.org>
54840
54841        Reviewed by Darin Adler.
54842
54843        Implement CSSOM Range.getClientRects for collapsed selections
54844        https://bugs.webkit.org/show_bug.cgi?id=34239
54845
54846        When getting the quads for a range on a text node, allow returning
54847        zero width quads. This leaves the case of collapsed selections inside
54848        elements still not fixed, but no worse.
54849
54850        * rendering/InlineTextBox.cpp:
54851        (WebCore::InlineTextBox::selectionRect):
54852        * rendering/RenderText.cpp:
54853        (WebCore::RenderText::absoluteQuadsForRange):
54854
548552010-01-31  Oliver Hunt  <oliver@apple.com>
54856
54857        Reviewed by Simon Fraser.
54858
54859        Animated scaling of background-image is too slow
54860        https://bugs.webkit.org/show_bug.cgi?id=33808
54861
54862        Implement a version of the RenderImage animated scaling optimisation
54863        for background images. Due to the possibility of arbitrary transforms
54864        being applied to containing elements we explicitly check the current
54865        CTM of the context for scaling or rotation.
54866
54867        * platform/graphics/GraphicsContext.cpp:
54868        (WebCore::GraphicsContext::drawTiledImage):
54869        * platform/graphics/GraphicsContext.h:
54870        * platform/graphics/transforms/TransformationMatrix.h:
54871        (WebCore::TransformationMatrix::isIdentityOrTranslation):
54872        * rendering/RenderBoxModelObject.cpp:
54873        (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
54874        (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
54875        (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
54876        (WebCore::RenderBoxModelScaleData::size):
54877        (WebCore::RenderBoxModelScaleData::setSize):
54878        (WebCore::RenderBoxModelScaleData::lastPaintTime):
54879        (WebCore::RenderBoxModelScaleData::setLastPaintTime):
54880        (WebCore::RenderBoxModelScaleData::useLowQualityScale):
54881        (WebCore::RenderBoxModelScaleData::transform):
54882        (WebCore::RenderBoxModelScaleData::setTransform):
54883        (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
54884        (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
54885        (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
54886        (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
54887        (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
54888        (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
54889        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
54890        * rendering/RenderBoxModelObject.h:
54891
548922010-01-31  Dirk Schulze  <krit@webkit.org>
54893
54894        Reviewed by Simon Fraser.
54895
54896        Add back an AffineTransform class for use by SVG
54897        https://bugs.webkit.org/show_bug.cgi?id=33750
54898
54899        These are the first steps on reimplementing AffineTransform. Unlike
54900        the old affine code, this one is platform independent like TransformationMatrix.
54901        AffineTransform has the benefit, that it stores just 6 doubles instead of
54902        16 in TransformationMatrix. The calculations of transformations are not that
54903        complex and can improve the memory usage and speed of SVG.
54904        AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
54905        least for the moment).
54906        HTML Canvas is the first that makes use of the new AffineTransform. Next patches
54907        will introduce the affine code to SVG.
54908
54909        No new tests. The new AffineTransformation code is tested by fast/canvas.
54910
54911        * Android.mk:
54912        * GNUmakefile.am:
54913        * WebCore.gypi:
54914        * WebCore.pro:
54915        * WebCore.vcproj/WebCore.vcproj:
54916        * WebCore.xcodeproj/project.pbxproj:
54917        * html/canvas/CanvasRenderingContext2D.cpp:
54918        (WebCore::CanvasRenderingContext2D::scale):
54919        (WebCore::CanvasRenderingContext2D::rotate):
54920        (WebCore::CanvasRenderingContext2D::translate):
54921        (WebCore::CanvasRenderingContext2D::transform):
54922        (WebCore::CanvasRenderingContext2D::setTransform):
54923        (WebCore::CanvasRenderingContext2D::isPointInPath):
54924        (WebCore::CanvasRenderingContext2D::willDraw):
54925        * html/canvas/CanvasRenderingContext2D.h:
54926        * platform/graphics/GraphicsContext.h:
54927        * platform/graphics/Path.h:
54928        * platform/graphics/cairo/GraphicsContextCairo.cpp:
54929        (WebCore::GraphicsContext::getAffineCTM):
54930        (WebCore::GraphicsContext::concatCTM):
54931        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
54932        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54933        * platform/graphics/cairo/PathCairo.cpp:
54934        (WebCore::Path::transform):
54935        * platform/graphics/cairo/TransformationMatrixCairo.cpp:
54936        (WebCore::AffineTransform::operator cairo_matrix_t):
54937        * platform/graphics/cg/GraphicsContextCG.cpp:
54938        (WebCore::GraphicsContext::concatCTM):
54939        (WebCore::GraphicsContext::getAffineCTM):
54940        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
54941        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
54942        * platform/graphics/cg/PathCG.cpp:
54943        (WebCore::Path::transform):
54944        * platform/graphics/cg/TransformationMatrixCG.cpp:
54945        (WebCore::AffineTransform::operator CGAffineTransform):
54946        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
54947        (WebCore::GraphicsContext::getAffineCTM):
54948        (WebCore::GraphicsContext::concatCTM):
54949        * platform/graphics/haiku/PathHaiku.cpp:
54950        (WebCore::Path::transform):
54951        * platform/graphics/qt/GraphicsContextQt.cpp:
54952        (WebCore::GraphicsContext::getAffineCTM):
54953        (WebCore::GraphicsContext::concatCTM):
54954        * platform/graphics/qt/PathQt.cpp:
54955        (WebCore::Path::transform):
54956        * platform/graphics/qt/TransformationMatrixQt.cpp:
54957        (WebCore::AffineTransform::operator QTransform):
54958        * platform/graphics/skia/GraphicsContextSkia.cpp:
54959        (WebCore::GraphicsContext::getAffineCTM):
54960        * platform/graphics/skia/PathSkia.cpp:
54961        (WebCore::Path::transform):
54962        * platform/graphics/skia/TransformationMatrixSkia.cpp:
54963        (WebCore::AffineTransform::operator SkMatrix):
54964        * platform/graphics/transforms/AffineTransform.cpp: Added.
54965        (WebCore::affineTransformDecompose):
54966        (WebCore::affineTransformCompose):
54967        (WebCore::AffineTransform::AffineTransform):
54968        (WebCore::AffineTransform::reset):
54969        (WebCore::AffineTransform::setMatrix):
54970        (WebCore::AffineTransform::isIdentity):
54971        (WebCore::AffineTransform::det):
54972        (WebCore::AffineTransform::isInvertible):
54973        (WebCore::AffineTransform::inverse):
54974        (WebCore::AffineTransform::multiply):
54975        (WebCore::AffineTransform::multLeft):
54976        (WebCore::AffineTransform::rotate):
54977        (WebCore::AffineTransform::scale):
54978        (WebCore::AffineTransform::translate):
54979        (WebCore::AffineTransform::scaleNonUniform):
54980        (WebCore::AffineTransform::rotateFromVector):
54981        (WebCore::AffineTransform::flipX):
54982        (WebCore::AffineTransform::flipY):
54983        (WebCore::AffineTransform::shear):
54984        (WebCore::AffineTransform::skew):
54985        (WebCore::AffineTransform::skewX):
54986        (WebCore::AffineTransform::skewY):
54987        (WebCore::makeMapBetweenRects):
54988        (WebCore::AffineTransform::map):
54989        (WebCore::AffineTransform::mapPoint):
54990        (WebCore::AffineTransform::mapRect):
54991        (WebCore::AffineTransform::blend):
54992        * platform/graphics/transforms/AffineTransform.h: Added.
54993        (WebCore::AffineTransform::a):
54994        (WebCore::AffineTransform::setA):
54995        (WebCore::AffineTransform::b):
54996        (WebCore::AffineTransform::setB):
54997        (WebCore::AffineTransform::c):
54998        (WebCore::AffineTransform::setC):
54999        (WebCore::AffineTransform::d):
55000        (WebCore::AffineTransform::setD):
55001        (WebCore::AffineTransform::e):
55002        (WebCore::AffineTransform::setE):
55003        (WebCore::AffineTransform::f):
55004        (WebCore::AffineTransform::setF):
55005        (WebCore::AffineTransform::operator== ):
55006        (WebCore::AffineTransform::operator!=):
55007        (WebCore::AffineTransform::operator*=):
55008        (WebCore::AffineTransform::operator*):
55009        (WebCore::AffineTransform::setMatrix):
55010        * platform/graphics/wince/GraphicsContextWince.cpp:
55011        (WebCore::GraphicsContext::concatCTM):
55012        (WebCore::GraphicsContext::getAffineCTM):
55013        * platform/graphics/wx/GraphicsContextWx.cpp:
55014        (WebCore::GraphicsContext::getAffineCTM):
55015        (WebCore::GraphicsContext::concatCTM):
55016        * platform/graphics/wx/PathWx.cpp:
55017        (WebCore::Path::transform):
55018        * platform/graphics/wx/TransformationMatrixWx.cpp:
55019        (WebCore::AffineTransform::operator wxGraphicsMatrix):
55020
550212010-01-31  Pavel Feldman  <pfeldman@chromium.org>
55022
55023        Reviewed by Timothy Hatcher.
55024
55025        Web Inspector: [REGRESSION] Breakpoint source line is not displayed
55026        in the breakpoint manager.
55027
55028        * inspector/front-end/SourceFrame.js:
55029        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
55030
550312010-01-31  Pavel Feldman  <pfeldman@chromium.org>
55032
55033        Reviewed by Timothy Hatcher.
55034
55035        Web Inspector: Introduce NativeTextViewer.
55036
55037        This change handles rendering highlighted text, using browser's
55038        selection/drag/drop/click logic. Breakpoint decorations and
55039        program counter is working.
55040
55041        Todo: line numbers are painted 'under' the text when scrolling
55042        horizontally, search is not yet implemented.
55043
55044        https://bugs.webkit.org/show_bug.cgi?id=34391
55045
55046        * WebCore.gypi:
55047        * WebCore.vcproj/WebCore.vcproj:
55048        * inspector/front-end/DivBasedTextViewer.js: Added.
55049        (WebInspector.DivBasedTextViewer):
55050        (WebInspector.DivBasedTextViewer.prototype._textChanged):
55051        (WebInspector.DivBasedTextViewer.prototype._createLineDivs):
55052        (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize):
55053        (WebInspector.DivBasedTextViewer.prototype._scroll):
55054        (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners):
55055        (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners):
55056        (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners):
55057        (WebInspector.DivBasedTextViewer.prototype._paintSelection):
55058        (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration):
55059        (WebInspector.DivBasedTextViewer.prototype._mouseDown):
55060        (WebInspector.DivBasedTextViewer.prototype._contextMenu):
55061        (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent):
55062        (WebInspector.DivBasedTextViewer.prototype._paintLine):
55063        (WebInspector.DivBasedTextViewer.prototype._createSpan):
55064        * inspector/front-end/Settings.js:
55065        * inspector/front-end/SourceFrame.js:
55066        (WebInspector.SourceFrame.prototype.clearMessages):
55067        (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
55068        (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
55069        (WebInspector.SourceFrame.prototype._addMessageToSource):
55070        (WebInspector.SourceFrame.prototype.resize):
55071        * inspector/front-end/TextEditor.js:
55072        (WebInspector.TextEditor):
55073        (WebInspector.TextEditor.prototype.setDivDecoration):
55074        (WebInspector.TextEditor.prototype._registerMouseListeners):
55075        (WebInspector.TextEditor.prototype._registerKeyboardListeners):
55076        (WebInspector.TextEditor.prototype._registerClipboardListeners):
55077        (WebInspector.TextEditor.prototype.reveal):
55078        (WebInspector.TextEditor.prototype._textChanged):
55079        (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint):
55080        (WebInspector.TextEditor.prototype._updatePreferredSize):
55081        (WebInspector.TextEditor.prototype.resize):
55082        (WebInspector.TextEditor.prototype._paintLinesContinuation):
55083        (WebInspector.TextEditor.prototype._paintLine):
55084        (WebInspector.TextEditor.prototype._contextMenu):
55085        (WebInspector.TextEditor.prototype._caretForMouseEvent):
55086        (WebInspector.TextEditor.prototype._changeFont):
55087        * inspector/front-end/TextEditorHighlighter.js:
55088        (WebInspector.TextEditorHighlighter.prototype._lex):
55089        * inspector/front-end/WebKit.qrc:
55090        * inspector/front-end/inspector.html:
55091        * inspector/front-end/textEditor.css:
55092
550932010-01-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
55094
55095        Reviewed by Eric Seidel.
55096
55097        [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
55098        https://bugs.webkit.org/show_bug.cgi?id=34168
55099
55100        Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
55101        and Symbian
55102
55103        * WebCore.pro:
55104
551052010-01-31  Yury Semikhatsky  <yurys@chromium.org>
55106
55107        Reviewed by Pavel Feldman.
55108
55109        Make ScriptState destructor protected since all non-empty
55110        ScriptStates are managed by GC. Remove obsolete constructor.
55111
55112        https://bugs.webkit.org/show_bug.cgi?id=34266
55113
55114        * bindings/v8/ScriptState.cpp:
55115        * bindings/v8/ScriptState.h:
55116
551172010-01-30  Simon Fraser  <simon.fraser@apple.com>
55118
55119        Reviewed by Dan Bernstein.
55120
55121        Use CGGradient on Leopard and later, since it's faster than CGShading
55122        https://bugs.webkit.org/show_bug.cgi?id=34384
55123
55124        Use CGGradient on Leopard and later, rather than CGShading, for
55125        performance.
55126
55127        * platform/graphics/Gradient.h:
55128        * platform/graphics/Gradient.cpp:
55129        (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops.
55130        Did not call this from getColor() to avoid overhead of a function call.
55131
55132        * platform/graphics/cg/GradientCG.cpp:
55133        (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger.
55134        (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger.
55135        (WebCore::Gradient::fill): Call new paint() method.
55136        (WebCore::Gradient::paint): New convenence method that avoids testing
55137        isRadial() in a bunch of other places.
55138
55139        * platform/graphics/cg/GraphicsContextCG.cpp:
55140        (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method.
55141        (WebCore::GraphicsContext::strokePath): Ditto
55142        (WebCore::GraphicsContext::fillRect): Ditto
55143        (WebCore::GraphicsContext::strokeRect): Ditto
55144
551452010-01-30  Simon Fraser  <simon.fraser@apple.com>
55146
55147        Reviewed by Adele Peterson.
55148
55149        Do color animations on premultiplied colors
55150        https://bugs.webkit.org/show_bug.cgi?id=34383
55151        
55152        Convert colors to premultiplied alpha before interpolating them,
55153        then convert the result back to non-premultiplied. This gives better
55154        results when animating from transparent colors.
55155
55156        Test: transitions/color-transition-premultiplied.html
55157
55158        * page/animation/AnimationBase.cpp:
55159        (WebCore::blendFunc):
55160
551612010-01-30  Gustavo Noronha Silva  <gns@gnome.org>
55162
55163        Build fixes needed for make distcheck.
55164
55165        * GNUmakefile.am:
55166
551672010-01-29  Mark Rowe  <mrowe@apple.com>
55168
55169        Stop copying an IDL file in to the framework wrapper.
55170
55171        * WebCore.xcodeproj/project.pbxproj:
55172
551732010-01-29  Mark Rowe  <mrowe@apple.com>
55174
55175        Sort Xcode projects.
55176
55177        * WebCore.xcodeproj/project.pbxproj:
55178
55179== Rolled over to ChangeLog-2010-01-29 ==
55180