e3569ee233bccfab6fd7776f75ce07f07e58bfef
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
2
3         Not reviewed: Chromium tests fix.
4
5         * inspector/CodeGeneratorInspector.pm:
6
7 2010-07-23  Patrick Gansterer  <paroga@paroga.com>
8
9         Reviewed by Adam Roben.
10
11         [WINCE] Buildfix for PluginDatabaseWin.cpp
12         https://bugs.webkit.org/show_bug.cgi?id=41887
13
14         Define KEY_ENUMERATE_SUB_KEYS only if not defined.
15
16         * plugins/win/PluginDatabaseWin.cpp:
17
18 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
19
20         Reviewed by Yury Semikhatsky.
21
22         Chromium DevTools: migrate from utility context-based injected
23         script dispatch to upstream schema.
24
25         https://bugs.webkit.org/show_bug.cgi?id=42883
26
27         * bindings/v8/ScriptProfile.cpp:
28         (WebCore::ScriptProfile::title):
29         * inspector/InspectorController.cpp:
30         (WebCore::InspectorController::getProfile):
31         * inspector/front-end/InjectedScriptAccess.js:
32
33 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
34
35         Not reviewed: rolling out r63963.
36
37         * bindings/v8/ScriptProfile.cpp:
38         (WebCore::ScriptProfile::title):
39         * inspector/InspectorController.cpp:
40         (WebCore::InspectorController::getProfile):
41         * inspector/front-end/InjectedScriptAccess.js:
42
43 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
44
45         Reviewed by Yury Semikhatsky.
46
47         Chromium DevTools: migrate from utility context-based injected
48         script dispatch to upstream schema.
49
50         https://bugs.webkit.org/show_bug.cgi?id=42883
51
52         * bindings/v8/ScriptProfile.cpp:
53         (WebCore::ScriptProfile::title):
54         * inspector/InspectorController.cpp:
55         (WebCore::InspectorController::getProfile):
56         * inspector/front-end/InjectedScriptAccess.js:
57         (InjectedScriptAccess.get if):
58         (InjectedScriptAccess):
59
60 2010-07-23  Yury Semikhatsky  <yurys@chromium.org>
61
62         Reviewed by Pavel Feldman.
63
64         Web Inspector: error info propagation in InspectorBackendDispatch should be improved
65         https://bugs.webkit.org/show_bug.cgi?id=42873
66
67         * inspector/CodeGeneratorInspector.pm: report wrong parameter count and wrong
68         parametere type errror to the dispatch method caller
69
70 2010-07-23  Pavel Feldman  <pfeldman@chromium.org>
71
72         Reviewed by Yury Semikhatsky.
73
74         Web Inspector: injectedScriptId is missing in the stack frame wrappers.
75
76         https://bugs.webkit.org/show_bug.cgi?id=42889
77
78         * inspector/front-end/InjectedScript.js:
79         (injectedScriptConstructor):
80
81 2010-07-23  Shinichiro Hamaji  <hamaji@chromium.org>
82
83         Reviewed by Kent Tamura.
84
85         Backslash isn't transcoded in <input>
86         https://bugs.webkit.org/show_bug.cgi?id=42878
87
88         * css/CSSStyleSelector.cpp:
89         (WebCore::CSSStyleSelector::applyProperty):
90
91 2010-07-22  Ilya Tikhonovsky  <loislo@chromium.org>
92
93         Reviewed by Yury Semikhatsky.
94
95         WebInspector: CodeGeneratorInspector was extended and now it can
96         generate InspectorBackedDispatcher's code. This dispatcher will
97         validate and dispatch incoming inspector commands only by native
98         code without using javaScript. That is necessary step for
99         RemoteDebugging support.
100         https://bugs.webkit.org/show_bug.cgi?id=42588
101
102         * GNUmakefile.am:
103         * WebCore.gyp/WebCore.gyp:
104         * WebCore.gypi:
105         * WebCore.pri:
106         * WebCore.vcproj/WebCore.vcproj:
107         * WebCore.xcodeproj/project.pbxproj:
108         * inspector/CodeGeneratorInspector.pm:
109         * inspector/InspectorController.cpp:
110         (WebCore::InspectorController::InspectorController):
111         * inspector/InspectorController.h:
112         (WebCore::InspectorController::inspectorBackendDispatcher):
113         * inspector/front-end/ElementsPanel.js:
114         (WebInspector.ElementsPanel.prototype.setDocument):
115
116 2010-07-22  Shinichiro Hamaji  <hamaji@chromium.org>
117
118         Reviewed by Kent Tamura.
119
120         Backslash is transcoded into yen sign even when non japanese font is specified
121         https://bugs.webkit.org/show_bug.cgi?id=39654
122
123         Test: fast/text/backslash-to-yen-sign-euc.html
124
125         * css/CSSStyleSelector.cpp:
126         (WebCore::CSSStyleSelector::applyProperty): Call FontDescriptor::setIsSpecifiedFont.
127         * platform/graphics/Font.cpp:
128         (WebCore::Font::Font):
129         * platform/graphics/FontDescription.h: Added m_isSpecifiedFont and its accessors.
130         (WebCore::FontDescription::FontDescription):
131         (WebCore::FontDescription::isSpecifiedFont):
132         (WebCore::FontDescription::setIsSpecifiedFont):
133         (WebCore::FontDescription::operator==):
134         * platform/text/transcoder/FontTranscoder.cpp:
135         (WebCore::FontTranscoder::converterType): Don't transcode backslashes if a font family is explicitly specified.
136         (WebCore::FontTranscoder::convert):
137         (WebCore::FontTranscoder::needsTranscoding):
138         * platform/text/transcoder/FontTranscoder.h: Change the arguments from AtomicString fontFamily to Font.
139         * rendering/RenderText.cpp:
140         (WebCore::RenderText::updateNeedsTranscoding):
141         (WebCore::RenderText::setTextInternal):
142
143 2010-07-22  Jon Honeycutt  <jhoneycutt@apple.com>
144
145         Windows build fix.
146
147         Commit some changes missed by the commit-queue in r63944.
148
149         * platform/win/BitmapInfo.h:
150         (WebCore::BitmapInfo::is16bit):
151         (WebCore::BitmapInfo::is32bit):
152         (WebCore::BitmapInfo::width):
153         (WebCore::BitmapInfo::height):
154         (WebCore::BitmapInfo::size):
155         (WebCore::BitmapInfo::paddedWidth):
156         (WebCore::BitmapInfo::numPixels):
157         (WebCore::BitmapInfo::paddedBytesPerLine):
158         (WebCore::BitmapInfo::bytesPerLine):
159
160 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
161
162         Reviewed by Adam Roben.
163
164         [WINCE] Add additonal methods to BitmapInfo.
165         https://bugs.webkit.org/show_bug.cgi?id=42071
166
167         Added a parameter to create 16bit BitmapInfo and
168         some additional accessors for the WinCE port.
169
170         Set bmiHeader.biSize only at constructor.
171
172         * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
173         (WebCore::bitmapInfoForSize):
174         (WebCore::BitmapInfo::create):
175         (WebCore::BitmapInfo::createBottomUp):
176         * platform/win/BitmapInfo.h: Added property svn:eol-style.
177         (WebCore::BitmapInfo::is16bit):
178         (WebCore::BitmapInfo::is32bit):
179         (WebCore::BitmapInfo::width):
180         (WebCore::BitmapInfo::height):
181         (WebCore::BitmapInfo::size):
182         (WebCore::BitmapInfo::paddedWidth):
183         (WebCore::BitmapInfo::numPixels):
184         (WebCore::BitmapInfo::paddedBytesPerLine):
185         (WebCore::BitmapInfo::bytesPerLine):
186
187 2010-07-22  MORITA Hajime  <morrita@google.com>
188
189         Reviewed by Ojan Vafai.
190
191         Autoscroll on selection should take scrollbars into account as outside of the content.
192         https://bugs.webkit.org/show_bug.cgi?id=40403
193
194         ScrollView's scroll-bar was considered as a part of content rect,
195         that prevents autoscroll to happen when the pointer is over the
196         scroll-bar.  This change excluded scroll-bar region from scrolling
197         delta calculation.
198         
199         Test: WebCore/manual-tests/autoscroll-over-scrollbar.html
200
201         * rendering/RenderLayer.cpp:
202         (WebCore::RenderLayer::scrollRectToVisible):
203
204 2010-07-22  Kent Tamura  <tkent@chromium.org>
205
206         Reviewed by Darin Adler.
207
208         maxLength should not be applied to non-text types
209         https://bugs.webkit.org/show_bug.cgi?id=42814
210
211         According to the HTML5 specification, maxLength attribute should
212         be applied to text, search, url, tel, email, and password types.
213
214         Test: fast/forms/input-maxlength-unsupported.html
215
216         * dom/InputElement.cpp:
217         (WebCore::InputElement::handleBeforeTextInsertedEvent):
218          Apply maxLength() only if supportsMaxLength() is true.
219         * dom/InputElement.h:
220         * html/HTMLInputElement.cpp:
221         (WebCore::HTMLInputElement::patternMismatch):
222          Code cleanup by isTextType().
223         (WebCore::HTMLInputElement::tooLong):
224          ditto.
225         (WebCore::HTMLInputElement::isTextType):
226          Added. This returns true for types with maxLength/pattern/placeholder.
227         * html/HTMLInputElement.h:
228         (WebCore::HTMLInputElement::supportsMaxLength):
229          Added. Just calls isTextType().
230         (WebCore::HTMLInputElement::supportsPlaceholder):
231          Code cleanup by isTextType().
232         * wml/WMLInputElement.h:
233         (WebCore::WMLInputElement::supportsMaxLength):
234          Added. Always returns true.
235
236 2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
237
238         Reviewed by Kent Tamura.
239
240         [cleanup] logic to extract adjacent lists and list children in listifyParagraph and unlistifyParagraph should be isolated
241         https://bugs.webkit.org/show_bug.cgi?id=42841
242
243         Added enclosingListChild that takes the list node containing the node for the second argument
244         to ensure that it only returns the enclosing list child of the specified list node.
245
246         Added adjacentEnclosingList that finds adjacent lists of the specified position.
247         It takes the current position, the adjacent position that may or may not have a list, and the list type,
248         and avoids a list that belongs to a different table cell or an outer list that contains the current position.
249
250         No new tests needed.
251
252         * editing/InsertListCommand.cpp:
253         (WebCore::enclosingListChild): Added. See above.
254         (WebCore::InsertListCommand::unlistifyParagraph): Uses enclosingListChild.
255         (WebCore::adjacentEnclosingList): Added. See above.
256         (WebCore::InsertListCommand::listifyParagraph): Uses adjacentEnclosingList.
257
258 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
259
260         Reviewed by Adam Roben.
261
262         [WIN] Correct DeleteObject usage in PasteboardWin
263         https://bugs.webkit.org/show_bug.cgi?id=41956
264
265         Call DeleteObject() if OpenClipboard() fails and don't
266         call DeleteObject() on objects returned from SelectObject().
267
268         * platform/win/PasteboardWin.cpp:
269         (WebCore::Pasteboard::writeImage):
270
271 2010-07-22  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
272
273         Reviewed by Antonio Gomes.
274
275         [EFL] Log function is incorrectly used.
276         r63804 used LOG function, but it should receive one more parameter.
277         Used LOG_ERROR instead, since this is an error message.
278         https://bugs.webkit.org/show_bug.cgi?id=42842
279
280         * platform/efl/WidgetEfl.cpp:
281         (WebCore::Widget::applyFallbackCursor): use LOG_ERROR in place of LOG
282
283 2010-07-22  Kent Tamura  <tkent@chromium.org>
284
285         Reviewed by Ojan Vafai.
286
287         Cancel button of search input field should fire input/change events
288         https://bugs.webkit.org/show_bug.cgi?id=34393
289
290         Test: fast/forms/search-cancel-button-events.html
291
292         * rendering/TextControlInnerElements.cpp:
293         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
294
295 2010-07-22  Sam Weinig  <sam@webkit.org>
296
297         Reviewed by Maciej Stachowiak.
298
299         Fix for <rdar://problem/8222626>
300         Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
301
302         * GNUmakefile.am:
303         * WebCore.gypi:
304         * WebCore.pro:
305         * WebCore.vcproj/WebCore.vcproj:
306         * WebCore.xcodeproj/project.pbxproj:
307         Update project files.
308         
309         * dom/UserTypingGestureIndicator.cpp: Copied from dom/UserGestureIndicator.cpp.
310         (WebCore::UserTypingGestureIndicator::processingUserTypingGesture):
311         (WebCore::focusedNode):
312         (WebCore::UserTypingGestureIndicator::focusedElementAtGestureStart):
313         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
314         (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
315         * dom/UserTypingGestureIndicator.h: Copied from dom/UserGestureIndicator.h.
316         Version of UserGestureIndicator that just tracks keyboard gestures and the focused
317         node they were targeting.
318         
319         * editing/Editor.cpp:
320         (WebCore::Editor::confirmComposition):
321         (WebCore::Editor::setComposition):
322         * page/EventHandler.cpp:
323         (WebCore::EventHandler::keyEvent):
324         Put UserTypingGestureIndicator on the stack for user generated keyboard events.
325
326 2010-07-22  Kent Tamura  <tkent@chromium.org>
327
328         Reviewed by Ojan Vafai.
329
330         <input type=number> stepper buttons should dispatch input/change events
331         https://bugs.webkit.org/show_bug.cgi?id=42440
332
333         Test: fast/forms/input-number-events.html
334
335         * html/HTMLInputElement.cpp:
336         (WebCore::HTMLInputElement::stepUpFromRenderer):
337          Sets a flag to dispatch 'change' event and dispatches 'input' event
338          if the value is changed.
339
340 2010-07-22  Justin Schuh  <jschuh@chromium.org>
341
342         Reviewed by Adam Barth.
343
344         Make history state methods validate against document URL
345         https://bugs.webkit.org/show_bug.cgi?id=42858
346
347         Test: fast/history/history-replace-illegal.html
348
349         * page/History.cpp:
350         (WebCore::History::urlForState):
351
352 2010-07-22  Andy Estes  <aestes@apple.com>
353
354         Reviewed by Maciej Stachowiak.
355
356         When there are no beforeload listeners on a document,
357         HTMLLinkElement::process() should be called immediately when the node is
358         inserted into the document, rather than waiting until after attach is
359         performed.
360         <https://bugs.webkit.org/show_bug.cgi?id=42859>
361         <rdar://problem/8194528>
362
363         No new tests.
364
365         * html/HTMLLinkElement.cpp:
366         (WebCore::HTMLLinkElement::insertedIntoDocument): If there are no
367         beforeload listeners, call process() immediately.  Otherwise, add it as
368         a post-attach callback.
369
370 2010-07-22  James Robinson  <jamesr@chromium.org>
371
372         Reviewed by Simon Fraser.
373
374         REGRESSION: box shadows on WebGL canvas elements repainted every frame
375         https://bugs.webkit.org/show_bug.cgi?id=42852
376
377         Avoid calling HTMLCanvasElement::willDraw() every time a WebGL canvas'
378         contents update.  This call is only needed in the non-compositing
379         rendering path.
380
381         Covered by fast/canvas/webgl/canvas-test.html
382
383         * html/canvas/WebGLRenderingContext.cpp:
384         (WebCore::WebGLRenderingContext::markContextChanged):
385         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
386
387 2010-07-22  Patrick Gansterer  <paroga@paroga.com>
388
389         Reviewed by Ojan Vafai.
390
391         Remove useless PlatformScrollBar
392         https://bugs.webkit.org/show_bug.cgi?id=41911
393
394         * WebCore.gypi:
395         * platform/win/PlatformScrollBar.h: Removed.
396         * platform/win/PlatformScrollBarWin.cpp: Removed.
397
398 2010-07-22  Ryosuke Niwa  <rniwa@webkit.org>
399
400         Reviewed by Ojan Vafai.
401
402         [Windows] Home hey doesn't work in first DIV inside a TABLE
403         https://bugs.webkit.org/show_bug.cgi?id=42767
404
405         The bug was caused by positionAvoidingFirstPositionInTable moving outside of the editing region.
406         Added a check so that it avoids the first position in the table only if the table is editable.
407
408         Test: editing/selection/home-inside-noneditable-table.html
409
410         * editing/visible_units.cpp:
411         (WebCore::positionAvoidingFirstPositionInTable):
412
413 2010-07-22  Antonio Gomes  <tonikitoo@webkit.org>
414
415         Reviewed by Laszlo Gombos.
416
417         Fix build warning for missing parentheses.
418
419         WebCore/html/HTMLInputElement.cpp:113: warning: suggest parentheses around '&&' within '||'
420
421         * html/HTMLInputElement.cpp:
422         (WebCore::isNumberCharacter):
423
424 2010-07-22  John Gregg  <johnnyg@google.com>
425
426         Reviewed by Kent Tamura.
427
428         [chromium] fast/forms/input-file-directory-upload.html fails on win after r63454
429         https://bugs.webkit.org/show_bug.cgi?id=42768
430
431         Normalize path separators for the script API by convering \'s to /'s.
432
433         Covered by input-file-directory-upload.html
434
435         * html/HTMLInputElement.cpp:
436         (WebCore::HTMLInputElement::setFileListFromRenderer):
437
438 2010-07-22  Dmitry Titov  <dimich@chromium.org>
439
440         Rubberstamped by Simon Fraser.
441
442         * platform/PlatformStrategies.h:
443         (WebCore::PlatformStrategies::PlatformStrategies): Add initialization of m_localizationStrategy.
444
445 2010-07-22  Dumitru Daniliuc  <dumi@chromium.org>
446
447         Reviewed by Ojan Vafai.
448
449         Make db.changeVersion()'s third parameter optional, as required by the spec.
450         https://bugs.webkit.org/show_bug.cgi?id=42787
451
452         * bindings/js/JSDatabaseCustom.cpp:
453         (WebCore::JSDatabase::changeVersion):
454         * bindings/js/JSDatabaseSyncCustom.cpp:
455         (WebCore::JSDatabaseSync::changeVersion):
456         * bindings/v8/custom/V8DatabaseCustom.cpp:
457         (WebCore::V8Database::changeVersionCallback):
458         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
459         (WebCore::V8DatabaseSync::changeVersionCallback):
460         * storage/SQLTransaction.cpp:
461         (WebCore::SQLTransaction::deliverTransactionCallback):
462         * storage/SQLTransactionSync.cpp:
463         (WebCore::SQLTransactionSync::execute):
464
465 2010-07-20  Jessie Berlin  <jberlin@apple.com>
466
467         Reviewed by Darin Adler.
468
469         Code Generator: Allow negative and string constants.
470         Also add tests for hexadecimal numbers.
471
472         * bindings/scripts/CodeGeneratorJS.pm:
473         If it is a string, do not try to cast it to an int.
474
475         * bindings/scripts/IDLStructure.pm:
476         Add a regex just for constant values that allows strings, hexadecimal numbers, and integral numbers.
477
478         * bindings/scripts/test/CPP/WebDOMTestObj.h:
479         Update the tests.
480
481         * bindings/scripts/test/JS/JSTestObj.cpp:
482         Ditto.
483
484         * bindings/scripts/test/JS/JSTestObj.h:
485         Ditto.
486
487         * bindings/scripts/test/ObjC/DOMTestObj.h:
488         Ditto.
489
490         * bindings/scripts/test/TestObj.idl:
491         Add tests for negative numbers, strings, and hexadecimal numbers.
492
493         * bindings/scripts/test/V8/V8TestObj.cpp:
494         Update the tests.
495
496 2010-07-22  Simon Fraser  <simon.fraser@apple.com>
497
498         Reviewed by Darin Adler.
499
500         Composited layers don't scroll in WebKit2
501         https://bugs.webkit.org/show_bug.cgi?id=42771
502
503         More prep work: make a single scrollPositionChanged() bottleneck method, and use it to 
504         send the scroll event, repaint fixed elements, and update compositing layers.
505
506         * page/FrameView.cpp:
507         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
508         (WebCore::FrameView::scrollPositionChanged):
509         (WebCore::FrameView::repaintFixedElementsAfterScrolling):
510         (WebCore::FrameView::valueChanged):
511         * page/FrameView.h:
512         * platform/ScrollView.cpp:
513         (WebCore::ScrollView::valueChanged):
514
515 2010-07-22  Sam Weinig  <sam@webkit.org>
516
517         Reviewed by Anders Carlsson.
518
519         Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
520         Add localized strings stubs for WebKit2.
521
522         - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
523           for localized strings.
524
525         Gets us below 200 tests failing in WebKitTestRunner.
526
527         * WebCore.exp.in:
528         * WebCore.xcodeproj/project.pbxproj:
529         * page/mac/WebCoreViewFactory.h:
530         * platform/LocalizationStrategy.h: Added.
531         (WebCore::LocalizationStrategy::~LocalizationStrategy):
532         * platform/PlatformStrategies.h:
533         (WebCore::PlatformStrategies::pluginStrategy):
534         (WebCore::PlatformStrategies::localizationStrategy):
535         (WebCore::PlatformStrategies::PlatformStrategies):
536         (WebCore::PlatformStrategies::~PlatformStrategies):
537         * platform/mac/LocalizedStringsMac.mm:
538
539 2010-07-22  Andras Becsi  <abecsi@webkit.org>
540
541         Reviewed by Antonio Gomes.
542
543         [Qt] Implement WebContext::applicationCacheDirectory() for the Qt port of WebKit2.
544         https://bugs.webkit.org/show_bug.cgi?id=42830
545
546         No new tests needed.
547
548         * WebCore.pri: add ApplicationCacheStorage.h to wk2 headers
549         * WebCore.pro: add WebContextQt.cpp to sources
550
551 2010-07-22  Joone Hur  <joone.hur@samsung.com>
552
553         Reviewed by Antonio Gomes.
554
555         [EFL] add support for logging
556         https://bugs.webkit.org/show_bug.cgi?id=40807
557
558         Enable to turn log channels on for EFL port
559
560         * platform/efl/LoggingEfl.cpp:
561         (WebCore::InitializeLoggingChannelsIfNecessary):
562
563 2010-07-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
564
565         Ureviewed build fix.
566
567         [Qt] Fix WebKit2 build
568
569         https://bugs.webkit.org/show_bug.cgi?id=42638
570
571         * WebCore.pri:
572         * WebCore.pro:
573
574 2010-07-22  Andrey Kosyakov  <caseq@chromium.org>
575
576         Reviewed by Yury Semikhatsky.
577
578         Web Inspector: Stop granting universal access to inspector front-end page.
579         https://bugs.webkit.org/show_bug.cgi?id=42817
580
581         * inspector/InspectorFrontendClientLocal.cpp:
582         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
583
584 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
585
586         Unreviewed. Fix inspector console tests crashes.
587
588         * bindings/v8/ScriptValue.cpp:
589         (WebCore::v8ToInspectorValue):
590         (WebCore::ScriptValue::toInspectorValue): enter v8 context before calling GetPropertyNames
591
592 2010-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
593
594         Unreviewed build fix.
595
596         [EFL] Build break for SVN r63881
597         https://bugs.webkit.org/show_bug.cgi?id=42813
598
599         * CMakeLists.txt: Add platform/SchemeRegistry.cpp
600
601 2010-07-22  Hayato Ito  <hayato@chromium.org>
602
603         Reviewed by Darin Adler.
604
605         Refactor CSSSelector's destructor and make it inline.
606
607         https://bugs.webkit.org/show_bug.cgi?id=42726
608
609         Refactor with no behavior change, thus no new tests.
610
611         * css/CSSSelector.cpp:
612         (WebCore::CSSSelectorBag::~CSSSelectorBag): Make sure the bag is empty.
613         (WebCore::CSSSelectorBag::add): Renamed from append().
614         (WebCore::CSSSelector::releaseOwnedSelectorsToBag):
615         (WebCore::CSSSelector::deleteReachableSelectors):
616         * css/CSSSelector.h:
617         (WebCore::CSSSelector::~CSSSelector):
618
619 2010-07-22  Yury Semikhatsky  <yurys@chromium.org>
620
621         Reviewed by Pavel Feldman.
622
623         Web Inspector: should be possible to convert console message arguments to InspectorValues
624         https://bugs.webkit.org/show_bug.cgi?id=42457
625
626         Now it is possible to convert simple JavaScript objects to
627         InspectorValues.
628
629         * bindings/js/ScriptValue.cpp:
630         (WebCore::jsToInspectorValue):
631         (WebCore::ScriptValue::toInspectorValue):
632         * bindings/js/ScriptValue.h:
633         * bindings/v8/ScriptValue.cpp:
634         (WebCore::v8ToInspectorValue):
635         (WebCore::ScriptValue::toInspectorValue):
636         * bindings/v8/ScriptValue.h:
637         * inspector/ConsoleMessage.cpp: console notifications are pushed to RemoteInspectorFrontend instead of InspectorFrontend.
638         (WebCore::ConsoleMessage::CallFrame::buildInspectorObject):
639         (WebCore::ConsoleMessage::addToFrontend):
640         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
641         * inspector/ConsoleMessage.h:
642         * inspector/InjectedScript.cpp:
643         (WebCore::InjectedScript::wrapForConsole): return InspectorValue instead of SerializedScriptValue
644         * inspector/InjectedScript.h:
645         * inspector/Inspector.idl:
646         * inspector/InspectorBackend.cpp:
647         (WebCore::InspectorBackend::clearConsoleMessages): send response directly from the backend
648         (WebCore::InspectorBackend::remoteFrontend):
649         * inspector/InspectorBackend.h:
650         * inspector/InspectorController.cpp:
651         (WebCore::InspectorController::addConsoleMessage):
652         (WebCore::InspectorController::clearConsoleMessages): don't send notification to the front end,
653         it will be send either from InspectorBackend.cpp if it was a user request or reset message will
654         be send to the front end if the messages are cleared due to page navigation.
655         (WebCore::InspectorController::populateScriptObjects):
656         * inspector/front-end/ConsoleView.js:
657         * inspector/front-end/inspector.js:
658
659 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
660
661         Reviewed by Pavel Feldman.
662
663         Web Inspector: Modifying settings actually modifies defaultValues
664         https://bugs.webkit.org/show_bug.cgi?id=42816
665
666         Avoid using live modifiable objects as property default values.
667
668         * inspector/front-end/Settings.js:
669         (WebInspector.Settings):
670         (WebInspector.Settings.prototype.reset):
671         (WebInspector.Settings.prototype._load):
672         (WebInspector.Settings.prototype.installSetting):
673         (WebInspector.Settings.prototype._get):
674
675 2010-07-22  Ben Murdoch  <benm@google.com>
676
677         Reviewed by Simon Fraser.
678
679         Touch events do not affect the :active CSS state
680         https://bugs.webkit.org/show_bug.cgi?id=39493
681
682         Clean the code up by using a typedef based on comments
683         post landing of the original patch.
684
685         No change in functionality so no new tests.
686
687         * rendering/HitTestRequest.h: Typedef the HitTestRequestType to unsigned.
688         * WebCore.exp.in: Update export signature.
689         * WebCore.order: Ditto.
690         * page/EventHandler.cpp: use the new typedef.
691         * page/EventHandler.h: ditto.
692
693
694 2010-07-22  Alexander Pavlov  <apavlov@chromium.org>
695
696         Reviewed by Pavel Feldman.
697
698         Web Inspector: Rename method for CSS rule source range retrieval and fix return object format
699         https://bugs.webkit.org/show_bug.cgi?id=42379
700
701         * inspector/Inspector.idl:
702         * inspector/InspectorBackend.cpp:
703         (WebCore::InspectorBackend::getRuleRanges):
704         * inspector/InspectorBackend.h:
705         * inspector/InspectorBackend.idl:
706         * inspector/InspectorCSSStore.cpp:
707         (WebCore::InspectorCSSStore::getRuleRanges):
708         * inspector/InspectorCSSStore.h:
709         * inspector/InspectorDOMAgent.cpp:
710         (WebCore::InspectorDOMAgent::getRuleRanges):
711         * inspector/InspectorDOMAgent.h:
712         * inspector/front-end/DOMAgent.js:
713
714 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
715
716         Reviewed by Yury Semikhatsky.
717
718         Chromium Dev Tools: Separators are missing in the context menu.
719
720         https://bugs.webkit.org/show_bug.cgi?id=42761
721
722         * bindings/js/JSInspectorFrontendHostCustom.cpp:
723         (WebCore::JSInspectorFrontendHost::showContextMenu):
724         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
725         (WebCore::V8InspectorFrontendHost::showContextMenuCallback):
726         * platform/ContextMenuItem.h:
727         (WebCore::):
728
729 2010-07-22  Zoltan Herczeg  <zherczeg@webkit.org>
730
731         Reviewed by Nikolas Zimmermann.
732
733         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
734         https://bugs.webkit.org/show_bug.cgi?id=42244
735
736         Implementing svgAttributeChanged and childrenChanged for the base class of all filters,
737         called SVGFilterPrimitiveStandardAttributes.
738
739         Tests: svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html
740                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html
741                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html
742                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html
743                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html
744                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html
745                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html
746                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html
747                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html
748                svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html
749
750         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
751         (WebCore::SVGFilterPrimitiveStandardAttributes::svgAttributeChanged):
752         (WebCore::SVGFilterPrimitiveStandardAttributes::childrenChanged):
753         * svg/SVGFilterPrimitiveStandardAttributes.h:
754         (WebCore::SVGFilterPrimitiveStandardAttributes::invalidateFilter):
755
756 2010-07-22  Kent Tamura  <tkent@chromium.org>
757
758         Reviewed by Darin Adler.
759
760         Small refactoring for input value sanitization
761         https://bugs.webkit.org/show_bug.cgi?id=42807
762
763         Rename some functions to clarify their roles.
764
765         * dom/InputElement.cpp:
766         (WebCore::replaceEOLAndLimitLength):
767           Renamed from sanitizeUserInputValue().
768         (WebCore::InputElement::sanitizeValueForTextField):
769           Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
770           instead of sanitizeUserInputValue().
771         (WebCore::InputElement::sanitizeUserInputValue):
772           Just call replaceEOLAndLimitLength().
773         (WebCore::InputElement::updateValueIfNeeded):
774           Use non-static sanitizeValue() for consistency.
775         * dom/InputElement.h:
776         * html/HTMLInputElement.cpp:
777         (WebCore::HTMLInputElement::setInputType):
778           Revert the change of r63876. It is not needed because of the
779           updateValueIfNeeded() change.
780         (WebCore::HTMLInputElement::sanitizeValue):
781           Apply the sanitizeValue() renaming.
782
783 2010-07-22  Tony Gentilcore  <tonyg@chromium.org>
784
785         Reviewed by Darin Fisher.
786
787         webkitPerformance.timing.responseEnd should not include document parse time
788         https://bugs.webkit.org/show_bug.cgi?id=42797
789
790         No new tests because timing based test would be flaky.
791
792         * loader/FrameLoader.cpp:
793         (WebCore::FrameLoader::finishedLoading): finishedLoading() is called by the platform at the right time, but didReceiveData() synchronously invokes parsing without returning to the event loop prior to this. So by the time the didFinishLoading() method is executed, parsing is finished. The solution is to move this time to didReceiveData() prior to parsing.
794         * loader/MainResourceLoader.cpp:
795         (WebCore::MainResourceLoader::didReceiveData): Update the time each time didReceiveData() is called.
796         (WebCore::MainResourceLoader::didFinishLoading): When finished, and after parsing, set responseEnd appropriately.
797         * loader/MainResourceLoader.h:
798         * page/Timing.cpp:
799         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Now that responseEnd is set correctly, it can be much shorter for very fast loads (like local files). This exposed the fact that this skew check was not tight enough. We need to make sure that the whole range of values from the ResourceLoadTiming API fit within fetchStart-responseEnd, not just that requestTime fits in this range.
800
801 2010-07-21  Kent Tamura  <tkent@chromium.org>
802
803         Reviewed by Darin Adler.
804
805         Assertion failure by changing the type of an input element with a
806         non-number value to 'range'.
807         https://bugs.webkit.org/show_bug.cgi?id=42643
808
809         Test: fast/forms/input-value-sanitization.html
810
811         * html/HTMLInputElement.cpp:
812         (WebCore::HTMLInputElement::setInputType):
813         Update the value by HTMLInputElement::sanitizeValue() in a case that
814         storesValueSeparateFromAttribute() state is not changed.
815
816 2010-07-21  Adam Barth  <abarth@webkit.org>
817
818         Reviewed by Eric Seidel.
819
820         Implement spec changes for basefont and bgsound
821         https://bugs.webkit.org/show_bug.cgi?id=42792
822
823         * html/HTMLTreeBuilder.cpp:
824         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
825         (WebCore::HTMLTreeBuilder::processStartTag):
826         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
827
828 2010-07-21  Adam Barth  <abarth@webkit.org>
829
830         Reviewed by Eric Seidel.
831
832         Update a list of tags to match changes in the HTML5 spec
833         https://bugs.webkit.org/show_bug.cgi?id=42791
834
835         We need to atomize these strings at some point.
836
837         * html/HTMLTreeBuilder.cpp:
838         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
839
840 2010-07-21  Adam Barth  <abarth@webkit.org>
841
842         Reviewed by Eric Seidel.
843
844         HTMLTreeBuilder needs to update to match new spec behavior for <button>
845         https://bugs.webkit.org/show_bug.cgi?id=42233
846
847         The spec has some typos in this area, but this is my best guess for
848         what Ian means.  I've filed bugs against the spec for each typo.
849
850         * html/HTMLElementStack.cpp:
851         (WebCore::HTMLNames::isScopeMarker):
852         (WebCore::HTMLNames::isButtonScopeMarker):
853         (WebCore::HTMLElementStack::inButtonScope):
854         * html/HTMLElementStack.h:
855         * html/HTMLTreeBuilder.cpp:
856         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
857         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
858         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
859         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
860         * html/HTMLTreeBuilder.h:
861
862 2010-07-21  Justin Schuh  <jschuh@chromium.org>
863
864         Reviewed by Oliver Hunt.
865
866         Prevent DeleteButtonController enable state from changing when not editing
867         https://bugs.webkit.org/show_bug.cgi?id=42659
868
869         Test: svg/custom/use-invalid-html.xhtml
870
871         * dom/ContainerNode.cpp:
872         (WebCore::ContainerNode::cloneChildNodes):
873
874 2010-07-21  Beth Dakin  <bdakin@apple.com>
875
876         Reviewed by Dan Bernstein.
877
878         Fix for https://bugs.webkit.org/show_bug.cgi?id=42605 New border-
879         radius path-based drawing code has some issues with corner-joins
880
881         GraphicsContext::clipConvexPolygon() now takes a boolean parameter 
882         indicating whether or not the clip should be antialiased.
883         * platform/graphics/GraphicsContext.h:
884         * platform/graphics/cairo/GraphicsContextCairo.cpp:
885         (WebCore::GraphicsContext::clipConvexPolygon):
886         * platform/graphics/cg/GraphicsContextCG.cpp:
887         (WebCore::GraphicsContext::clipConvexPolygon):
888         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
889         (WebCore::GraphicsContext::clipConvexPolygon):
890         * platform/graphics/qt/GraphicsContextQt.cpp:
891         (WebCore::GraphicsContext::clipConvexPolygon):
892         * platform/graphics/skia/GraphicsContextSkia.cpp:
893         (WebCore::GraphicsContext::clipConvexPolygon):
894         * platform/graphics/wince/GraphicsContextWince.cpp:
895         (WebCore::GraphicsContext::clipConvexPolygon):
896         * platform/graphics/wx/GraphicsContextWx.cpp:
897         (WebCore::GraphicsContext::clipConvexPolygon):
898
899         Compute 4 booleans determining if each edge is a "matching" edge of 
900         not. Send the two appropriate values to clipBorderSidePolygon() so 
901         we can decide there whether or not to antialias the clip based on 
902         matchy-ness.
903         * rendering/RenderBoxModelObject.cpp:
904         (WebCore::RenderBoxModelObject::paintBorder):
905
906         If both edges are matching, don't antialias. If neither edge 
907         matches, never antialias. If one edge matches and one does not, 
908         apply two clips to get the appropriate antialiasing in each corner.
909         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
910         * rendering/RenderBoxModelObject.h:
911
912 2010-07-21  Brady Eidson  <beidson@apple.com>
913
914         Reviewed by Geoffrey Garen.
915
916         Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
917         https://bugs.webkit.org/show_bug.cgi?id=42783
918
919         No new tests. (No change in behavior)
920
921         * GNUmakefile.am:
922         * WebCore.exp.in:
923         * WebCore.gypi:
924         * WebCore.pro:
925         * WebCore.vcproj/WebCore.vcproj:
926         * WebCore.xcodeproj/project.pbxproj:
927         
928         * loader/FrameLoader.cpp:
929         (WebCore::FrameLoader::isMixedContent):
930         (WebCore::FrameLoader::loadFrameRequest):
931         
932         * page/SecurityOrigin.cpp:
933         (WebCore::SecurityOrigin::SecurityOrigin):
934         (WebCore::SecurityOrigin::canLoad):
935         (WebCore::SecurityOrigin::isLocal):
936         * page/SecurityOrigin.h:
937         
938         * platform/SchemeRegistry.cpp: Added.
939         (WebCore::localSchemes):
940         (WebCore::secureSchemes):
941         (WebCore::schemesWithUniqueOrigins):
942         (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
943         (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
944         (WebCore::SchemeRegistry::localURLSchemes):
945         (WebCore::SchemeRegistry::shouldTreatURLAsLocal):
946         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
947         (WebCore::SchemeRegistry::registerURLSchemeAsNoAccess):
948         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsNoAccess):
949         (WebCore::SchemeRegistry::registerURLSchemeAsSecure):
950         (WebCore::SchemeRegistry::shouldTreatURLSchemeAsSecure):
951         * platform/SchemeRegistry.h: Added.
952
953 2010-07-21  Chris Marrin  <cmarrin@apple.com>
954
955         Reviewed by Simon Fraser.
956
957         Assertion failure in AnimationBase::updateStateMachine() coming out of paused state
958         https://bugs.webkit.org/show_bug.cgi?id=37993
959         
960         Added logic to properly handle pausing and resuming when in the 
961         AnimationStateStartWaitStyleAvailable state. This was causing an
962         assert when going out of the pause state because the paused flag
963         was not set.
964         
965         The fix is a straightforward implementation, going into a new
966         AnimationStatePausedWaitStyleAvailable state and setting the paused
967         flag (actually setting the m_pauseTime variable to something other
968         than -1). Also added handling of the new state, both when the 
969         "style available" callback comes in while in this state and when
970         unpausing while in this state. 
971         
972         For now a LayoutTest is not possible since there's no way to go in
973         and out of the pause state. I've opened https://bugs.webkit.org/show_bug.cgi?id=42790
974         to track this.
975
976         * page/animation/AnimationBase.cpp:
977         (WebCore::AnimationBase::updateStateMachine):
978         * page/animation/AnimationBase.h:
979         (WebCore::AnimationBase::):
980
981 2010-07-21  Bo Liu  <boliu@chromium.org>
982
983         Reviewed by Darin Fisher.
984
985         [Chromium] Add chromium WebMediaPlayer to PlatformMedia
986         https://bugs.webkit.org/show_bug.cgi?id=41295
987
988         * platform/graphics/MediaPlayer.h:
989         (WebCore::PlatformMedia::):
990
991 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
992
993         Reviewed by Anders Carlsson.
994
995         Composited layers don't scroll in WebKit2
996         https://bugs.webkit.org/show_bug.cgi?id=42771
997
998         Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
999         but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
1000         scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
1001
1002         * WebCore.exp.in:
1003         * page/FrameView.cpp:
1004         (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
1005         * page/FrameView.h:
1006
1007 2010-07-21  Peter Beverloo  <peter@lvp-media.com>
1008
1009         Reviewed by Eric Carlson.
1010
1011         Removed support for the -khtml CSS vendor prefix and limit the
1012         -apple prefix to two properties (dashboard-region and line-clamp).
1013
1014         Test: fast/css/limited-vendor-prefix-behavior.html
1015
1016         * css/CSSParser.cpp:
1017         (WebCore::cssPropertyID):
1018
1019 2010-07-21  Adam Barth  <abarth@webkit.org>
1020
1021         Reviewed by Eric Seidel.
1022
1023         Fix the last tree HTML5 tree builder crashes
1024         https://bugs.webkit.org/show_bug.cgi?id=42773
1025
1026         This patch changes the internal representation of a bookmark to handle
1027         the case where one of the adjecent entries in the list of active
1028         formatting elements is actually a marker.
1029
1030         After this patch, the bookmarking mechanism isn't as general, but it
1031         works for the cases we need in the adoption agency.
1032
1033         Also, after this patch, there aren't any more known crashers in the
1034         HTML5 tree builder.  :)
1035
1036         * html/HTMLFormattingElementList.cpp:
1037         (WebCore::HTMLFormattingElementList::bookmarkFor):
1038         (WebCore::HTMLFormattingElementList::swapTo):
1039         * html/HTMLFormattingElementList.h:
1040         (WebCore::HTMLFormattingElementList::Bookmark::Bookmark):
1041         (WebCore::HTMLFormattingElementList::Bookmark::moveToAfter):
1042         (WebCore::HTMLFormattingElementList::Bookmark::hasBeenMoved):
1043         (WebCore::HTMLFormattingElementList::Bookmark::mark):
1044         (WebCore::HTMLFormattingElementList::first):
1045         * html/HTMLTreeBuilder.cpp:
1046         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1047
1048 2010-07-21  Tony Gentilcore  <tonyg@chromium.org>
1049
1050         Unreviewed build fix.
1051
1052         Disable overzealous ASSERT
1053         https://bugs.webkit.org/show_bug.cgi?id=42775
1054
1055         No new tests because no changed functionality.
1056
1057         * loader/FrameLoader.cpp:
1058         (WebCore::FrameLoader::stopLoading):
1059
1060 2010-07-21  Yael Aharon  <yael.aharon@nokia.com>
1061
1062         Reviewed by Darin Adler.
1063
1064         Crash in Notification::disconnectFrame() triggered by Frame::lifeSupportTimerFired()
1065         https://bugs.webkit.org/show_bug.cgi?id=42534
1066
1067         Call NotificationsCenter::disconnectFrame() when the frame is disconnected from the page.
1068         Calling it from the destructor of Frame is too late and sometimes causes access violation.
1069         I was not able to reproduce this crash, so did not add new tests.
1070         This patch is based on the error reported in 
1071         http://code.google.com/p/chromium/issues/detail?id=49323.
1072
1073         * page/DOMWindow.cpp:
1074         (WebCore::DOMWindow::pageDestroyed):
1075         * page/DOMWindow.h:
1076         * page/Frame.cpp:
1077         (WebCore::Frame::pageDestroyed):
1078
1079 2010-07-21  Anders Carlsson  <andersca@apple.com>
1080
1081         Reviewed by Sam Weinig.
1082
1083         Don't assert when clicking on a plug-in in WebKit2
1084         https://bugs.webkit.org/show_bug.cgi?id=42762
1085
1086         Remove a now invalid assert and return false instead.
1087
1088         * page/mac/EventHandlerMac.mm:
1089         (WebCore::EventHandler::passMouseDownEventToWidget):
1090
1091 2010-07-21  Anton Muhin  <antonm@chromium.org>
1092
1093         Reviewed by Adam Barth.
1094
1095         [v8] Revert r60670 as it introduced a regression: in some cases named children couldn't be retrieved.
1096         https://bugs.webkit.org/show_bug.cgi?id=42766
1097
1098         See http://code.google.com/p/chromium/issues/detail?id=48804 for more details.
1099
1100         * bindings/scripts/CodeGeneratorV8.pm:
1101         * bindings/v8/ScriptController.cpp:
1102         (WebCore::ScriptController::namedItemAdded):
1103         (WebCore::ScriptController::namedItemRemoved):
1104         * bindings/v8/V8DOMWindowShell.cpp:
1105         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1106         * bindings/v8/V8DOMWindowShell.h:
1107         * bindings/v8/V8DOMWrapper.cpp:
1108         (WebCore::V8DOMWrapper::instantiateV8Object):
1109         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1110         (WebCore::V8HTMLDocument::namedPropertyDeleter):
1111         (WebCore::V8HTMLDocument::namedPropertyGetter):
1112         (WebCore::V8HTMLDocument::indexedPropertyGetter):
1113         (WebCore::V8HTMLDocument::allAccessorSetter):
1114         (WebCore::toV8):
1115
1116 2010-07-21  Eric Carlson  <eric.carlson@apple.com>
1117
1118         Reviewed by Simon Fraser.
1119
1120         Update plug-in proxy backed <video> and <audio> elements.
1121         https://bugs.webkit.org/show_bug.cgi?id=42770
1122         <rdar://problem/7963467>
1123
1124         * html/HTMLMediaElement.cpp:
1125         (WebCore::HTMLMediaElement::attributeChanged): Only call m_player->setControls when
1126         the 'controls' attribute changes.
1127         (WebCore::HTMLMediaElement::createRenderer): 
1128         (WebCore::HTMLMediaElement::attach): If we have a proxy widget, call the WebFrameLoaderClient's 
1129         'hide' and 'show' methods for the media proxy plug-in to make sure we remove and re-add the 
1130         plug-in's view to the global list of plugin views.
1131         (WebCore::HTMLMediaElement::createMediaPlayerProxy): Bail if m_proxyWidget is non-NULL
1132
1133         * loader/EmptyClients.h:
1134         (WebCore::EmptyFrameLoaderClient::hideMediaPlayerProxyPlugin): Empty stub method.
1135         (WebCore::EmptyFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
1136
1137         * loader/FrameLoader.cpp:
1138         * loader/FrameLoaderClient.h:
1139         * loader/SubframeLoader.cpp:
1140         (WebCore::FrameLoader::loadMediaPlayerProxyPlugin): Always set m_containsPlugIns in loadMediaPlayerProxyPlugin(),
1141          even when we don't have a renderer.
1142         (WebCore::FrameLoader::hideMediaPlayerProxyPlugin): New, call hideMediaPlayerProxyPlugin.
1143         (WebCore::FrameLoader::showMediaPlayerProxyPlugin): New, call showMediaPlayerProxyPlugin.
1144
1145         * platform/graphics/MediaPlayer.cpp:
1146         (WebCore::NullMediaPlayerPrivate::setControls):
1147         (WebCore::MediaPlayer::setControls): New, pass through to media engine.
1148         (WebCore::MediaPlayer::enterFullscreen): Ditto.
1149         (WebCore::MediaPlayer::exitFullscreen): Ditto.
1150         * platform/graphics/MediaPlayer.h:
1151         * platform/graphics/MediaPlayerPrivate.h:
1152         (WebCore::MediaPlayerPrivateInterface::setControls):
1153         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
1154         (WebCore::MediaPlayerPrivateInterface::exitFullscreen):
1155
1156 2010-07-21  Dimitri Glazkov  <dglazkov@chromium.org>
1157
1158         Reviewed by Darin Adler.
1159
1160         Make more members of CSSStyleSelector private.
1161         https://bugs.webkit.org/show_bug.cgi?id=42757
1162
1163         No change in behavior, so no new tests.
1164
1165         * css/CSSStyleSelector.h: Made a publicly-unused methods private.
1166
1167 2010-07-21  Pavel Feldman  <pfeldman@chromium.org>
1168
1169         Reviewed by Timothy Hatcher.
1170
1171         Web Inspector: consider jQuery object to be of array nature.
1172
1173         https://bugs.webkit.org/show_bug.cgi?id=42758
1174
1175         * inspector/front-end/InjectedScript.js:
1176         (injectedScriptConstructor):
1177
1178 2010-07-21  Alexey Proskuryakov  <ap@apple.com>
1179
1180         Unreviewed Windows build fix.
1181
1182         https://bugs.webkit.org/show_bug.cgi?id=42717
1183         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
1184         credential storage, and is sent with subsequent requests
1185
1186         * platform/network/cf/ResourceHandleCFNet.cpp:
1187         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Don't use that direct a
1188         copy/paste, oops!
1189
1190 2010-07-21  Simon Fraser  <simon.fraser@apple.com>
1191
1192         Reviewed by Darin Adler.
1193
1194         When GraphicsLayer::contentsOrientation() is CompositingCoordinatesBottomUp, need to flip repaint rects
1195         https://bugs.webkit.org/show_bug.cgi?id=42662
1196         
1197         If the contentsOrientation() on a GraphicsLayer is CompositingCoordinatesBottomUp, then we
1198         need to flip the rects passed to setNeedsDisplayInRect:.
1199         
1200         Avoid writing this code twice by making a bare function to share code
1201         between WebLayer and WebTiledLayer. Convert the existing +drawContents:ofLayer:intoContext:
1202         class method into a bare function, because the Obj-C calling overhead doesn't buy us anything.
1203         
1204         Take out an assertion in GraphicsLayerCA::updateContentsTransform() that is not
1205         correct.
1206         
1207         No new tests because no layers use bottom-up contents at present.
1208
1209         * platform/graphics/mac/GraphicsLayerCA.mm:
1210         (WebCore::GraphicsLayerCA::updateContentsTransform):
1211         * platform/graphics/mac/WebLayer.h:
1212         * platform/graphics/mac/WebLayer.mm:
1213         (drawLayerContents):
1214         (setLayerNeedsDisplayInRect):
1215         (-[WebLayer setNeedsDisplayInRect:]):
1216         (-[WebLayer drawInContext:]):
1217         * platform/graphics/mac/WebTiledLayer.mm:
1218         (-[WebTiledLayer setNeedsDisplayInRect:]):
1219         (-[WebTiledLayer drawInContext:]):
1220
1221 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
1222
1223         Reviewed by Darin Adler.
1224
1225         https://bugs.webkit.org/show_bug.cgi?id=42717
1226         <rdar://problem/7062824> A wrong password entered for site or proxy auth remains in WebCore
1227         credential storage, and is sent with subsequent requests
1228
1229         Tests: http/tests/security/401-logout/401-logout.php
1230                http/tests/xmlhttprequest/remember-bad-password.html
1231
1232         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::remove):
1233         * platform/network/CredentialStorage.h:
1234         Added a way to remove stored credentials for a given protection space.
1235
1236         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1237         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
1238         Remove stored credentials if they didn't work the first time.
1239
1240 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1241
1242         Reviewed by Adam Roben.
1243
1244         WebKit on Windows should build optionally with an unversioned ICU DLL
1245         https://bugs.webkit.org/show_bug.cgi?id=42722
1246         <rdar://problem/8211767> WebKit needs to link against unversioned ICU
1247
1248         To get the proper value for U_DISABLE_RENAMING into all source files, we force
1249         the include of ICUVersion.h (our generated header) via the compiler options.
1250         
1251         * WebCore.vcproj/WebCore.vcproj:
1252         Add forced include of ICUVersion.h.
1253         * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
1254
1255 2010-07-21  Ilya Tikhonovsky  <loislo@chromium.org>
1256
1257         Reviewed by Pavel Feldman.
1258
1259         WebInspector: Serialization to JSON in InspectorValue works incorrect
1260         if comma is assigned as decimal separator. Windows with Russian locale.
1261         https://bugs.webkit.org/show_bug.cgi?id=42755
1262
1263         * inspector/InspectorValues.cpp:
1264         (WebCore::InspectorBasicValue::writeJSON):
1265
1266 2010-07-20  Simon Fraser  <simon.fraser@apple.com>
1267
1268         Reviewed by Dan Bernstein.
1269
1270         CSS rotation transform can cause elements with certain styles to vanish during rotation.
1271         https://bugs.webkit.org/show_bug.cgi?id=42579
1272         
1273         Remove some untested, broken code that, as far as I can tell, could never get hit.
1274         Use the correct rect for the PaintInfo so that zero-sized elements with overflow:hidden
1275         but a border paint correctly.
1276
1277         Test: compositing/overflow/zero-size-overflow.html
1278
1279         * rendering/RenderLayerBacking.cpp:
1280         (WebCore::RenderLayerBacking::paintIntoLayer):
1281
1282 2010-07-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1283
1284         Reviewed by Laszlo Gombos.
1285
1286         [QT] Leak and few more fixes to qt port of geolocation
1287         https://bugs.webkit.org/show_bug.cgi?id=42753
1288
1289         Fixes memory leak and default values set to attributes. 
1290         
1291         Memory leak fix no new test case added. 
1292
1293         * platform/qt/GeolocationServiceQt.cpp: Added.
1294         (WebCore::GeolocationServiceQt::~GeolocationServiceQt):
1295         (WebCore::GeolocationServiceQt::positionUpdated):
1296
1297 2010-07-21  Kristian Amlie <kristian.amlie@nokia.com>
1298
1299         Reviewed by Kenneth Rohde Christiansen.
1300
1301         Added automatic sqlite extraction for Symbian to QtWebKit.
1302
1303         Also added sqlite detection in case sqlite is not present in the SDK.
1304         This is possible if WebKit is compiled standalone.
1305
1306         The inclusion part is a consequence of commit c578c6c1d6d in the Qt
1307         repository. It will not work on Qt versions < 4.7.1, but that is ok,
1308         since the only build system it will affect is marked as experimental
1309         in the whole 4.7 series.
1310
1311         * WebCore.pro:
1312
1313 2010-07-21  Adam Barth  <abarth@webkit.org>
1314
1315         Reviewed by Eric Seidel.
1316
1317         Associate elements with the active form
1318         https://bugs.webkit.org/show_bug.cgi?id=42728
1319
1320         This patch fixes fast/forms/formmove3.html.  The test still doesn't
1321         pass due to some render tree differences, but it works as intended now.
1322
1323         To fix this test, I needed to deviate from the spec slight.  Minefield
1324         seems to have the same deviation:
1325           - http://www.w3.org/Bugs/Public/show_bug.cgi?id=10216
1326
1327         * html/HTMLConstructionSite.cpp:
1328         (WebCore::HTMLConstructionSite::takeForm):
1329         (WebCore::HTMLConstructionSite::setForm):
1330         (WebCore::HTMLConstructionSite::createHTMLElement):
1331         * html/HTMLConstructionSite.h:
1332         (WebCore::HTMLConstructionSite::form):
1333         * html/HTMLTreeBuilder.cpp:
1334         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1335
1336 2010-07-21  Adam Barth  <abarth@webkit.org>
1337
1338         Reviewed by Eric Seidel.
1339
1340         The adoption agency doesn't properly attach()
1341         https://bugs.webkit.org/show_bug.cgi?id=42727
1342
1343         The adoption agency is transliterated rather directly from the spec,
1344         but it misses some of the WebKit-specific machinations, such as
1345         attaching to the render tree.
1346
1347         The algorithm, as written, is a minor layer violation.  I've added to
1348         the problem by calling attach() from HTMLTreeBuilder (even though
1349         that's the job of the HTMLConstructionSite).  We'll need to clean up
1350         the layering a bit at some point.
1351
1352         This patch half fixes fast/forms/formmove3.html.  Hopefully I'll finish
1353         fixing it in the next patch.
1354
1355         * html/HTMLConstructionSite.cpp:
1356         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
1357         * html/HTMLTreeBuilder.cpp:
1358         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1359
1360 2010-07-21  Adam Barth  <abarth@webkit.org>
1361
1362         Reviewed by Eric Seidel.
1363
1364         <input> elements with no type attribute should be foster parented
1365         https://bugs.webkit.org/show_bug.cgi?id=42725
1366
1367         Fix spec transcription error.
1368
1369         * html/HTMLTreeBuilder.cpp:
1370         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1371
1372 2010-07-21  Adam Barth  <abarth@webkit.org>
1373
1374         Reviewed by Eric Seidel.
1375
1376         Fix fast/css/last-child-style-sharing.html
1377         https://bugs.webkit.org/show_bug.cgi?id=42731
1378
1379         Prior to this patch, we weren't calling finishParsingChildren on the
1380         body element.  We need a more systematic way of catching these bugs.
1381
1382         * html/HTMLElementStack.cpp:
1383         (WebCore::HTMLElementStack::popAll):
1384         * html/HTMLElementStack.h:
1385         * html/HTMLTreeBuilder.cpp:
1386         (WebCore::HTMLTreeBuilder::processEndOfFile):
1387
1388 2010-07-21  Hans Wennborg  <hans@chromium.org>
1389
1390         Reviewed by Steve Block.
1391
1392         Runtime feature switch for device orientation
1393         https://bugs.webkit.org/show_bug.cgi?id=42265
1394
1395         Add a runtime feature switch that decides whether device orientation
1396         events are available or not. Defaults to true.
1397
1398         * WebCore.vcproj/WebCoreCommon.vsprops: Add bindings/generic to include path.
1399         * bindings/generic/RuntimeEnabledFeatures.cpp:
1400         * bindings/generic/RuntimeEnabledFeatures.h:
1401         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
1402         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
1403         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
1404         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
1405         * page/DOMWindow.cpp:
1406         (WebCore::DOMWindow::addEventListener):
1407         (WebCore::DOMWindow::removeEventListener):
1408         (WebCore::DOMWindow::removeAllEventListeners):
1409         * page/DOMWindow.idl:
1410         * page/Page.cpp:
1411         (WebCore::Page::Page):
1412
1413 2010-07-21  Zoltan Herczeg  <zherczeg@webkit.org>
1414
1415         Reviewed Nikolas Zimmermann.
1416
1417         SVGFilterElement & SVGFE*Element don't support dynamic invalidation, when attributes change
1418         https://bugs.webkit.org/show_bug.cgi?id=42244
1419
1420         The implementation was done by Nikolas Zimmermann before, but
1421         there was no tests for it. The patch also implements the simple
1422         setFilterRes method.
1423
1424         Tests: svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html
1425                svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html
1426                svg/dynamic-updates/SVGFilterElement-dom-height-attr.html
1427                svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html
1428                svg/dynamic-updates/SVGFilterElement-dom-width-attr.html
1429                svg/dynamic-updates/SVGFilterElement-dom-x-attr.html
1430                svg/dynamic-updates/SVGFilterElement-dom-y-attr.html
1431                svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html
1432                svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html
1433                svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html
1434                svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html
1435                svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html
1436                svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html
1437                svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html
1438                svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html
1439                svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html
1440
1441         * svg/SVGFilterElement.cpp:
1442         (WebCore::SVGFilterElement::setFilterRes):
1443         (WebCore::SVGFilterElement::svgAttributeChanged):
1444         (WebCore::SVGFilterElement::childrenChanged):
1445         * svg/SVGFilterElement.h:
1446
1447 2010-07-21  Ben Murdoch  <benm@google.com>
1448
1449         Unreviewed, build fix.
1450
1451         Forgot to update the role of HitTestRequest.h in
1452         the xcode project after landing patch from
1453         https://bugs.webkit.org/show_bug.cgi?id=39493
1454
1455         * WebCore.xcodeproj/project.pbxproj: Make HitTestRequest.h
1456             private so it can be included in WebKit by EventHandler.h
1457             which is already private..
1458
1459 2010-07-20  Ben Murdoch  <benm@google.com>
1460
1461         Reviewed by Steve Block.
1462
1463         Touch events do not affect the :active CSS state
1464         https://bugs.webkit.org/show_bug.cgi?id=39493
1465
1466         Test: fast/events/touch/touch-active-state.html
1467
1468         * WebCore.exp.in: Update exports for new signature of
1469             hitTestResultAtPoint.
1470         * WebCore.order: ditto.
1471         * page/EventHandler.cpp:
1472         (WebCore::EventHandler::EventHandler):
1473         (WebCore::EventHandler::hitTestResultAtPoint): Pass the type
1474             of the hit test to perform as a parameter with a default
1475             value rather than harcoding it in the function body.
1476         (WebCore::EventHandler::handleMouseMoveEvent): Do not modiify
1477             the active element during a mouse move if the user is
1478             touching the screen.
1479         (WebCore::EventHandler::handleTouchEvent): Set the correct
1480             type of hit test to perform depending on the type of the
1481             touch event we are handling.
1482         * page/EventHandler.h: Update the signature of hitTestResultAtPoint.
1483
1484 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
1485
1486         Reviewed by Pavel Feldman.
1487
1488         console.assert should include stack trace with line numbers.
1489         https://bugs.webkit.org/show_bug.cgi?id=22556
1490
1491         Test: inspector/console-assert.html
1492
1493         * bindings/v8/ScriptCallStack.cpp:
1494         (WebCore::getTopFrameLocation):
1495         (WebCore::toScriptCallFramesVector):
1496         (WebCore::ScriptCallStack::create):
1497         (WebCore::ScriptCallStack::ScriptCallStack):
1498         * bindings/v8/ScriptCallStack.h:
1499         * bindings/v8/ScriptController.cpp:
1500         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
1501         * bindings/v8/custom/V8ConsoleCustom.cpp:
1502         (WebCore::V8Console::traceCallback):
1503         (WebCore::V8Console::assertCallback):
1504         * inspector/ConsoleMessage.cpp:
1505         (WebCore::ConsoleMessage::ConsoleMessage):
1506         * inspector/InspectorController.cpp:
1507         (WebCore::InspectorController::addMessageToConsole):
1508         * inspector/front-end/ConsoleView.js:
1509         (WebInspector.ConsoleMessage.prototype._formatMessage):
1510         (WebInspector.ConsoleMessage.prototype.toMessageElement):
1511         * page/Console.cpp:
1512         (WebCore::Console::lastWMLErrorMessage):
1513         * page/Console.idl:
1514
1515 2010-07-20  Rafael Antognolli  <antognolli@profusion.mobi>
1516
1517         Reviewed by Kent Tamura.
1518
1519         [EFL] Use log functions instead of fprintf
1520         https://bugs.webkit.org/show_bug.cgi?id=42576
1521
1522         Use LOG and LOG_ERROR instead of fprintf.
1523
1524         No new tests, no new functionality.
1525
1526         * platform/efl/WidgetEfl.cpp:
1527         (WebCore::Widget::applyFallbackCursor):
1528
1529 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1530
1531         Reviewed by Yury Semikhatsky.
1532
1533         WebInspector: the bindings generation helper script can be
1534         simplified a bit. Chromium.
1535         https://bugs.webkit.org/show_bug.cgi?id=42523
1536
1537         * WebCore.gyp/WebCore.gyp:
1538         * WebCore.gyp/scripts/rule_binding.py:
1539         * bindings/scripts/CodeGenerator.pm:
1540         * bindings/scripts/CodeGeneratorCPP.pm:
1541         * bindings/scripts/CodeGeneratorJS.pm:
1542         * bindings/scripts/CodeGeneratorObjC.pm:
1543         * bindings/scripts/CodeGeneratorV8.pm:
1544         * bindings/scripts/generate-bindings.pl:
1545         * inspector/CodeGeneratorInspector.pm:
1546
1547 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1548
1549         Re-save vsprops file after no-op edit in Visual Studio
1550         to fix manual edit issues.
1551
1552         * WebCore.vcproj/WebCoreCommon.vsprops:
1553
1554 2010-07-20  Steve Falkenburg  <sfalken@apple.com>
1555
1556         Re-save vcproj file after no-op edit in Visual Studio
1557         to fix manual edit issues.
1558
1559         * WebCore.vcproj/WebCore.vcproj:
1560
1561 2010-07-20  Adam Barth  <abarth@webkit.org>
1562
1563         Reviewed by Eric Seidel.
1564
1565         Include attributes when reconstructing elements in HTML5 tree builder
1566         https://bugs.webkit.org/show_bug.cgi?id=42594
1567
1568         Remove FIXME now that we have a test.
1569
1570         * html/HTMLConstructionSite.cpp:
1571         (WebCore::HTMLConstructionSite::createHTMLElementFromElementRecord):
1572
1573 2010-07-20  Sam Weinig  <sam@webkit.org>
1574
1575         Reviewed by Brady Eidson.
1576
1577         Patch for https://bugs.webkit.org/show_bug.cgi?id=42719
1578         Make Acid2 pass in WebKit2
1579
1580         * WebCore.exp.in: Update exported functions.
1581
1582 2010-07-20  Gavin Peters  <gavinp@chromium.org>
1583
1584         Reviewed by Adam Barth.
1585
1586         prefetch categorization is exactly wrong
1587         https://bugs.webkit.org/show_bug.cgi?id=42651
1588
1589         While I was in the area, I saw that CachedResource::schedule() was dead, so I have removed it.
1590
1591         Test: fast/dom/HTMLLinkElement/onload-completion-test.html
1592
1593         * loader/CachedCSSStyleSheet.h:
1594         * loader/CachedFont.h:
1595         * loader/CachedImage.h:
1596         * loader/CachedResource.cpp:
1597         * loader/CachedResource.h:
1598         (WebCore::CachedResource::isPrefetch):
1599         * loader/CachedScript.h:
1600         * loader/CachedXBLDocument.h:
1601         * loader/CachedXSLStyleSheet.h:
1602
1603 2010-07-20  James Hawkins  <jhawkins@chromium.org>
1604
1605         Reviewed by Darin Fisher.
1606
1607         Expose the form submission trigger on the HTMLFormElement object. This
1608         is used to verify that the user submitted the form instead of JS when
1609         saving form data in Chrome AutoFill.
1610         https://bugs.webkit.org/show_bug.cgi?id=42479
1611
1612         No new tests as this is only used by the Chromium WebKit API.
1613
1614         * html/HTMLFormElement.cpp:
1615         (WebCore::HTMLFormElement::HTMLFormElement):
1616         (WebCore::HTMLFormElement::submit):
1617         (WebCore::HTMLFormElement::reset):
1618         (WebCore::HTMLFormElement::submissionTrigger):
1619         * html/HTMLFormElement.h:
1620
1621 2010-07-20  Adam Barth  <abarth@webkit.org>
1622
1623         Unreviewed.
1624
1625         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1626         https://bugs.webkit.org/show_bug.cgi?id=42668
1627
1628         Address some late-breaking review comments.
1629
1630         * dom/CharacterData.cpp:
1631         (WebCore::CharacterData::appendDataCommon):
1632         (WebCore::CharacterData::parserAppendData):
1633         (WebCore::CharacterData::appendData):
1634         (WebCore::CharacterData::insertData):
1635         (WebCore::CharacterData::replaceData):
1636         * dom/CharacterData.h:
1637
1638 2010-07-20  Daniel Erat  <derat@chromium.org>
1639
1640         Reviewed by Ojan Vafai.
1641
1642         Subpixel rendering always disabled for Chromium Linux
1643         https://bugs.webkit.org/show_bug.cgi?id=42220
1644
1645         Explicitly initialize global Chromium Linux isSkiaSubpixelGlyphs
1646         flag to false for clarity.
1647
1648         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1649
1650 2010-07-20  Adam Barth  <abarth@webkit.org>
1651
1652         Reviewed by Darin Adler.
1653
1654         Fix fast/dom/title-content-write-set.html for HTML5 tree builder
1655         https://bugs.webkit.org/show_bug.cgi?id=42668
1656
1657         When I split parserAppendData from appendData, it was tempting to cut
1658         the function at dispatchModifiedEvent, but that's not quite right.  We
1659         still need to notify the parent that it's children have changed.
1660
1661         * dom/CharacterData.cpp:
1662         (WebCore::CharacterData::appendDataCommon):
1663         (WebCore::CharacterData::parserAppendData):
1664         (WebCore::CharacterData::appendData):
1665         * dom/CharacterData.h:
1666
1667 2010-07-20  Chris Fleizach  <cfleizach@apple.com>
1668
1669         Reviewed by Beth Dakin.
1670
1671         CrashTracer: [USER] 300 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityTable::isTableExposableThroughAccessibility + 573
1672         https://bugs.webkit.org/show_bug.cgi?id=42652
1673
1674         When a table cell accesses its parent table, we should not use getOrCreate, because creating an AXTable inspects its render tree state
1675         which may be out of date, leading to a crash.
1676         By using only get(), it implies that the AXTable must be created before AXTableCells. This should
1677         always be the case when AT clients access a table.
1678
1679         Test: accessibility/updating-attribute-in-table-causes-crash.html
1680
1681         * accessibility/AccessibilityTableCell.cpp:
1682         (WebCore::AccessibilityTableCell::parentTable):
1683
1684 2010-07-20  Abhishek Arya  <inferno@chromium.org>
1685
1686         Reviewed by David Hyatt.
1687
1688         Check the node is a text node before doing the static cast
1689         for editing commands.
1690         https://bugs.webkit.org/show_bug.cgi?id=42655
1691
1692         Test: editing/execCommand/editing-nontext-node-crash.xhtml
1693
1694         * editing/DeleteSelectionCommand.cpp:
1695         (WebCore::DeleteSelectionCommand::fixupWhitespace):
1696         * editing/InsertLineBreakCommand.cpp:
1697         (WebCore::InsertLineBreakCommand::doApply):
1698         * editing/InsertParagraphSeparatorCommand.cpp:
1699         (WebCore::InsertParagraphSeparatorCommand::doApply):
1700
1701 2010-07-20  Leo Yang  <leo.yang@torchmobile.com.cn>
1702
1703         Reviewed by David Hyatt.
1704
1705         Don't merge Anonymous block whose first child is inline run-in.
1706         Make run-in recalculate its style after its renderer is destroyed.
1707         https://bugs.webkit.org/show_bug.cgi?id=41375.
1708
1709         Test: fast/runin/crash-when-reparent-sibling.html
1710
1711         * rendering/RenderBlock.cpp:
1712         (WebCore::canMergeContiguousAnonymousBlocks):
1713         * rendering/RenderObjectChildList.cpp:
1714         (WebCore::RenderObjectChildList::destroyLeftoverChildren):
1715
1716 2010-07-20  Steve Block  <steveblock@google.com>
1717
1718         Unreviewed Qt test fix.
1719
1720         Qt should not use PREEMPT_GEOLOCATION_PERMISSION until Bug 42027 is fixed.
1721         https://bugs.webkit.org/show_bug.cgi?id=42068
1722
1723         No new tests, test fix only.
1724
1725         * WebCore.pro:
1726
1727 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1728
1729         Unreviewed, rolling out r63764.
1730         http://trac.webkit.org/changeset/63764
1731         https://bugs.webkit.org/show_bug.cgi?id=42658
1732
1733         have broken Chromium linux build (Requested by loislo on
1734         #webkit).
1735
1736         * WebCore.gyp/WebCore.gyp:
1737         * WebCore.gyp/scripts/rule_binding.py:
1738         * bindings/scripts/CodeGenerator.pm:
1739         * bindings/scripts/CodeGeneratorCPP.pm:
1740         * bindings/scripts/CodeGeneratorJS.pm:
1741         * bindings/scripts/CodeGeneratorObjC.pm:
1742         * bindings/scripts/CodeGeneratorV8.pm:
1743         * bindings/scripts/generate-bindings.pl:
1744         * inspector/CodeGeneratorInspector.pm:
1745
1746 2010-07-20  Alexey Proskuryakov  <ap@apple.com>
1747
1748         Reviewed by Brady Eidson.
1749
1750         https://bugs.webkit.org/show_bug.cgi?id=41531
1751         Asynchronous cross origin XMLHttpRequest doesn't expose 401 response when withCredentials is false
1752
1753         This doesn't match Firefox, but it matches our sync case, XHR2 spec and common sense.
1754
1755         Test: http/tests/xmlhttprequest/cross-origin-no-authorization.html (updated results).
1756
1757         * loader/DocumentThreadableLoader.cpp:
1758         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Instead of canceling
1759         the request, continue without credentials - if the platform has a necessary method on
1760         ResourceHandle.
1761
1762         * loader/SubresourceLoader.cpp:
1763         (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Don't ask resource loader
1764         client for credentials if subresource loader client already took care of those.
1765
1766         * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::hasAuthenticationChallenge):
1767         * platform/network/ResourceHandle.h:
1768         Added an accessor to check whether ResourceHandle is currently waiting for credentials.
1769
1770 2010-07-20  Leandro Pereira  <leandro@profusion.mobi>
1771
1772         [EFL] Unreviewed build fix.
1773
1774         Build SVGPathBuilder, SVGPathParser and SVGPathSegListBuilder.
1775         Add websockets include directory.
1776
1777         The EFL port doesn't yet support automated tests.
1778
1779         * CMakeLists.txt:
1780
1781 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1782
1783         Reviewed by Yury Semikhatsky.
1784
1785         WebInspector: the bindings generation helper script can be
1786         simplified a bit. Chromium.
1787         https://bugs.webkit.org/show_bug.cgi?id=42523
1788
1789         * WebCore.gyp/WebCore.gyp:
1790         * WebCore.gyp/scripts/rule_binding.py:
1791         * bindings/scripts/CodeGenerator.pm:
1792         * bindings/scripts/CodeGeneratorCPP.pm:
1793         * bindings/scripts/CodeGeneratorJS.pm:
1794         * bindings/scripts/CodeGeneratorObjC.pm:
1795         * bindings/scripts/CodeGeneratorV8.pm:
1796         * bindings/scripts/generate-bindings.pl:
1797         * inspector/CodeGeneratorInspector.pm:
1798
1799 2010-07-20  Joseph Pecoraro  <joepeck@webkit.org>
1800
1801         Reviewed by Geoffrey Garen.
1802
1803         WebScriptObject Should Allow Safely Checking For Key Existence
1804         https://bugs.webkit.org/show_bug.cgi?id=42613
1805
1806         Test: platform/mac/fast/objc/webScriptObject-hasWebScriptKey.html
1807
1808         Add private API "hasWebScriptKey" to check for key existence in
1809         a WebScriptObject. Like JavaScript's `in` syntax. This is intended
1810         to be made public eventually.
1811
1812         * bindings/objc/WebScriptObject.mm:
1813         (-[WebScriptObject hasWebScriptKey:]):
1814         * bindings/objc/WebScriptObjectPrivate.h:
1815
1816 2010-07-20  Adam Barth  <abarth@webkit.org>
1817
1818         Reviewed by Eric Seidel.
1819
1820         HTML5 tree builder needs to call dispatchDocumentElementAvailable
1821         https://bugs.webkit.org/show_bug.cgi?id=42654
1822
1823         This patch fixes the follout LayoutTests with --html5-treebuilder:
1824           - userscripts/script-not-run-for-fragments.html
1825           - userscripts/script-run-at-start.html
1826
1827         * html/HTMLConstructionSite.cpp:
1828         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1829         (WebCore::HTMLConstructionSite::dispatchDocumentElementAvailableIfNeeded):
1830         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1831         (WebCore::HTMLConstructionSite::insertHTMLHtmlElement):
1832         * html/HTMLConstructionSite.h:
1833         * html/HTMLTreeBuilder.cpp:
1834         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1835
1836 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1837
1838         Reviewed by Steve Block.
1839
1840         Need to be able to configure Geolocation policy regarding user permissions
1841         https://bugs.webkit.org/show_bug.cgi?id=42068
1842
1843         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
1844         acquires user permission first before starting location service
1845
1846         This change does not introduce any change in behavior for any platform. So there are no new tests
1847         added.
1848
1849         * WebCore.pro:
1850         * page/Geolocation.cpp:
1851         (WebCore::Geolocation::startRequest):
1852         (WebCore::Geolocation::setIsAllowed):
1853         (WebCore::Geolocation::startUpdating):
1854         * page/Geolocation.h:
1855
1856 2010-07-20  Adam Barth  <abarth@webkit.org>
1857
1858         Reviewed by Darin Adler.
1859
1860         HTML5 tree builder should restore form state
1861         https://bugs.webkit.org/show_bug.cgi?id=42644
1862
1863         We need to tell self-closing tags that we're done parsing their
1864         children.  This patch fixes the following LayoutTests when run with
1865         --html5-treebuilder:
1866
1867           fast/forms/button-state-restore.html
1868           fast/forms/state-restore-to-non-autocomplete-form.html
1869           fast/forms/state-restore-to-non-edited-controls.html
1870           fast/history/saves-state-after-fragment-nav.html
1871           http/tests/navigation/restore-form-state-https.html
1872
1873         * html/HTMLConstructionSite.cpp:
1874         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1875
1876 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1877
1878         Unreviewed, rolling out r63750.
1879         http://trac.webkit.org/changeset/63750
1880         https://bugs.webkit.org/show_bug.cgi?id=42648
1881
1882         This revision breaks the windows builds (Requested by
1883         hwennborg on #webkit).
1884
1885         * bindings/generic/RuntimeEnabledFeatures.cpp:
1886         * bindings/generic/RuntimeEnabledFeatures.h:
1887         * page/DOMWindow.cpp:
1888         (WebCore::DOMWindow::addEventListener):
1889         (WebCore::DOMWindow::removeEventListener):
1890         (WebCore::DOMWindow::removeAllEventListeners):
1891         * page/DOMWindow.idl:
1892         * page/Page.cpp:
1893         (WebCore::Page::Page):
1894
1895 2010-07-20  Ilya Tikhonovsky  <loislo@chromium.org>
1896
1897         Reviewed by Pavel Feldman.
1898
1899         WebInspector: It is possible to show full call stack instead of top frame for Caller
1900         and Call Site properties in Timeline panel.
1901         https://bugs.webkit.org/show_bug.cgi?id=42620
1902
1903         * English.lproj/localizedStrings.js:
1904         * inspector/front-end/TimelinePanel.js:
1905         (WebInspector.TimelinePanel.FormattedRecord):
1906         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1907         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1908         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendElementRow):
1909         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1910         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1911         * inspector/front-end/inspector.css:
1912         (.timeline-details):
1913         (.timeline-function-name):
1914         (.timeline-stacktrace-title):
1915
1916 2010-07-20  Leon Clarke  <leonclarke@google.com>
1917
1918         Reviewed by Pavel Feldman.
1919
1920         Make things compile again when the inspector is disabled, following
1921         recent inspector improvements.
1922         https://bugs.webkit.org/show_bug.cgi?id=42632
1923
1924         No new tests. Fixing a build break.
1925
1926
1927         * bindings/v8/ScriptCallStack.cpp:
1928         (WebCore::ScriptCallStack::stackTrace):
1929         * inspector/InspectorController.h:
1930         (WebCore::InspectorController::didInsertDOMNode):
1931         (WebCore::InspectorController::didRemoveDOMNode):
1932         (WebCore::InspectorController::didModifyDOMAttr):
1933         * inspector/InspectorDOMAgent.h:
1934         * loader/appcache/ApplicationCacheGroup.cpp:
1935
1936 2010-07-20  Anton Muhin  <antonm@chromium.org>
1937
1938         Reviewed by Adam Barth.
1939
1940         [v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.
1941         https://bugs.webkit.org/show_bug.cgi?id=42634
1942
1943         Currently DOMDataStore could be destroyed even if it has some mappings (it gets destroyed
1944         when its isolated context gets GCed).  However in this case, handles allocated for
1945         such objects would never be disposed as we require presence of mapping from wrapped
1946         WebKit object to handle being collected in the map and now map is gone.  That leads to
1947         zombie objects in both WebKit (wrapped WebKit object doesn't get dereferenced) and V8
1948         (both handle and V8 wrapper object could not be destroyed).
1949
1950         See http://code.google.com/p/chromium/issues/detail?id=47125 for further discussion.
1951
1952         * bindings/v8/DOMData.h:
1953         (WebCore::DOMData::handleWeakObject):
1954         * bindings/v8/DOMDataStore.cpp:
1955         (WebCore::DOMDataStore::weakNodeCallback):
1956         * bindings/v8/V8DOMMap.h:
1957         (WebCore::WeakReferenceMap::~WeakReferenceMap):
1958
1959 2010-07-20  Hans Wennborg  <hans@chromium.org>
1960
1961         Reviewed by Steve Block.
1962
1963         Runtime feature switch for device orientation
1964         https://bugs.webkit.org/show_bug.cgi?id=42265
1965
1966         Add a runtime feature switch that decides whether device orientation
1967         events are available or not. Defaults to true.
1968
1969         * bindings/generic/RuntimeEnabledFeatures.cpp:
1970         * bindings/generic/RuntimeEnabledFeatures.h:
1971         (WebCore::RuntimeEnabledFeatures::setDeviceOrientationEnabled):
1972         (WebCore::RuntimeEnabledFeatures::deviceOrientationEnabled):
1973         (WebCore::RuntimeEnabledFeatures::deviceOrientationEventEnabled):
1974         (WebCore::RuntimeEnabledFeatures::ondeviceorientationEnabled):
1975         * page/DOMWindow.cpp:
1976         (WebCore::DOMWindow::addEventListener):
1977         (WebCore::DOMWindow::removeEventListener):
1978         (WebCore::DOMWindow::removeAllEventListeners):
1979         * page/DOMWindow.idl:
1980         * page/Page.cpp:
1981         (WebCore::Page::Page):
1982
1983 2010-07-20  Hayato Ito  <hayato@chromium.org>
1984
1985         Reviewed by Darin Adler.
1986
1987         Fixed a crash when deeply nested CSS selector is used.
1988         https://bugs.webkit.org/show_bug.cgi?id=41129
1989
1990         This patch deletes CSSSelectors iteratively so that it doesn't cause stack overflow.
1991
1992         Test: fast/css/css-selector-deeply-nested.html
1993
1994         * css/CSSSelector.cpp:
1995         (WebCore::CSSSelectorBag::~CSSSelectorBag):
1996         (WebCore::CSSSelectorBag::isEmpty):
1997         (WebCore::CSSSelectorBag::append):
1998         (WebCore::CSSSelectorBag::takeAny):
1999         (WebCore::CSSSelector::~CSSSelector):
2000         (WebCore::CSSSelector::specificity):
2001         * css/CSSSelector.h:
2002
2003 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
2004
2005         Reviewed by Pavel Feldman.
2006
2007         [v8] Web Inspector: inspected page renderer crashes when inspected page has JS syntax error
2008         https://bugs.webkit.org/show_bug.cgi?id=42642
2009
2010         * bindings/v8/V8ConsoleMessage.cpp:
2011         (WebCore::V8ConsoleMessage::handler):
2012
2013 2010-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2014
2015         Unreviewed, rolling out r63742.
2016         http://trac.webkit.org/changeset/63742
2017         https://bugs.webkit.org/show_bug.cgi?id=42641
2018
2019         Broke Leopard Intel build. (Requested by bbandix on #webkit).
2020
2021         * WebCore.pro:
2022         * page/Geolocation.cpp:
2023         (WebCore::Geolocation::startRequest):
2024         (WebCore::Geolocation::setIsAllowed):
2025         (WebCore::Geolocation::startUpdating):
2026         * page/Geolocation.h:
2027
2028 2010-07-20  Adam Roben  <aroben@apple.com>
2029
2030         Windows build fix
2031
2032         * WebCore.vcproj/WebCore.vcproj: Fixed case of "Name" attribute.
2033
2034 2010-07-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2035
2036         Reviewed by Steve Block.
2037
2038         Need to be able to configure Geolocation policy regarding user permissions
2039         https://bugs.webkit.org/show_bug.cgi?id=42068
2040
2041         Introducing new USE() flag PREEMPT_GEOLOCATION_PREMISSION using which
2042         acquires user permission first before starting location service
2043
2044         This change does not introduce any change in behavior for any platform. So there are no new tests
2045         added.
2046
2047         * WebCore.pro:
2048         * page/Geolocation.cpp:
2049         (WebCore::Geolocation::startRequest):
2050         (WebCore::Geolocation::setIsAllowed):
2051         (WebCore::Geolocation::startUpdating):
2052         * page/Geolocation.h:
2053
2054 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
2055
2056         Reviewed by Pavel Feldman.
2057
2058         Inspector: Resources Search Should Search Only Filtered Resources
2059         https://bugs.webkit.org/show_bug.cgi?id=28290
2060
2061         * inspector/front-end/AbstractTimelinePanel.js:
2062         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
2063         * inspector/front-end/ResourcesPanel.js:
2064         (WebInspector.ResourcesPanel.prototype.get searchableViews):
2065         * inspector/front-end/inspector.js:
2066         (WebInspector.performSearch):
2067         (WebInspector.doPerformSearch):
2068
2069 2010-07-20  Alexander Pavlov  <apavlov@chromium.org>
2070
2071         Reviewed by Pavel Feldman.
2072
2073         Web Inspector: Incorrect absolute URLs in tooltips of links in the ElementsTreeOutline
2074         https://bugs.webkit.org/show_bug.cgi?id=42626
2075
2076         * inspector/front-end/ElementsTreeOutline.js:
2077         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
2078
2079 2010-07-20  Shinichiro Hamaji  <hamaji@chromium.org>
2080
2081         Unreviewed comment fix. The comment in IDL should be //, not # .
2082
2083         Code generator: ensure generated constants match their corresponding enums.
2084         https://bugs.webkit.org/show_bug.cgi?id=42250
2085
2086         * dom/OverflowEvent.idl:
2087
2088 2010-07-20  Hans Wennborg  <hans@chromium.org>
2089
2090         Reviewed by Steve Block.
2091
2092         Add WebCore/bindings/generic/RuntimeEnabledFeatures.cpp to build files
2093         https://bugs.webkit.org/show_bug.cgi?id=42380
2094
2095         RuntimeEnabledFeatures.cpp and .h were moved from bindings/v8 to
2096         bindings/generic a while a go (in r54593), but need to
2097         be added to the build in order to be used.
2098
2099         No new functionality so no new tests.
2100
2101         * Android.mk:
2102         * CMakeLists.txt:
2103         * GNUmakefile.am:
2104         * WebCore.pro:
2105         * WebCore.vcproj/WebCore.vcproj:
2106         * WebCore.xcodeproj/project.pbxproj:
2107         * websockets/WebSocket.cpp: Remove #if USE(V8), as RuntimeEnabledFeatures.cpp is no longer V8-only.
2108         * websockets/WebSocket.h: Ditto.
2109
2110 2010-07-20  Tony Chang  <tony@chromium.org>
2111
2112         Reviewed by Kent Tamura.
2113
2114         clean up style in ClipboardWin and PasteboardWin
2115         https://bugs.webkit.org/show_bug.cgi?id=42609
2116
2117         No new tests since this is just a style cleanup.
2118
2119         * platform/win/ClipboardUtilitiesWin.cpp:
2120         (WebCore::createGlobalData):
2121         (WebCore::markupToCFHTML):
2122         (WebCore::getURL):
2123         (WebCore::getPlainText):
2124         (WebCore::getTextHTML):
2125         (WebCore::fragmentFromFilenames):
2126         (WebCore::containsFilenames):
2127         (WebCore::fragmentFromCFHTML):
2128         (WebCore::fragmentFromHTML):
2129         * platform/win/ClipboardUtilitiesWin.h:
2130         * platform/win/ClipboardWin.cpp:
2131         (WebCore::pathRemoveBadFSCharacters):
2132         (WebCore::createGlobalHDropContent):
2133         (WebCore::createGlobalUrlFileDescriptor):
2134         (WebCore::writeURL):
2135         (WebCore::ClipboardWin::clearData):
2136         (WebCore::ClipboardWin::clearAllData):
2137         (WebCore::ClipboardWin::getData):
2138         (WebCore::ClipboardWin::types):
2139         (WebCore::ClipboardWin::declareAndWriteDragImage):
2140         (WebCore::ClipboardWin::writeRange):
2141         * platform/win/ClipboardWin.h:
2142         (WebCore::ClipboardWin::create):
2143         (WebCore::ClipboardWin::dataObject):
2144         * platform/win/PasteboardWin.cpp:
2145         (WebCore::PasteboardOwnerWndProc):
2146         (WebCore::Pasteboard::writeSelection):
2147         (WebCore::Pasteboard::writeURL):
2148         (WebCore::Pasteboard::plainText):
2149         (WebCore::Pasteboard::documentFragment):
2150
2151 2010-07-20  Yury Semikhatsky  <yurys@chromium.org>
2152
2153         Reviewed by Pavel Feldman.
2154
2155         Web Inspector: jump to source is broken for call frames logged by console.trace
2156         https://bugs.webkit.org/show_bug.cgi?id=42619
2157
2158         * inspector/front-end/ConsoleView.js:
2159         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2160         * inspector/front-end/treeoutline.js: allow passing HTML element as a title.
2161         (TreeElement.prototype.set title):
2162         (TreeElement.prototype.set shouldRefreshChildren):
2163         (TreeElement.prototype._setListItemNodeContent):
2164         (TreeElement.prototype._attach):
2165
2166 2010-07-20  Tony Chang  <tony@chromium.org>
2167
2168         Reviewed by Dan Bernstein.
2169
2170         [chromium] crash in Position::getInlineBoxAndOffset
2171         https://bugs.webkit.org/show_bug.cgi?id=42202
2172
2173         Test: editing/selection/firstRect-crash.html
2174         Manual test: win/contextmenu-key2.html
2175
2176         * page/EventHandler.cpp: Code no longer needed
2177         * page/Frame.cpp:
2178         (WebCore::Frame::firstRectForRange): Normalize Positions to VisiblePositions because
2179             Positions may be pointing to nodes that have no renderer.  If there's no renderer,
2180             getInlineBoxAndOffset will crash.
2181
2182 2010-07-20  Adam Barth  <abarth@webkit.org>
2183
2184         Reviewed by Darin Adler.
2185
2186         Foster parenting depends on the current element at insertion time
2187         https://bugs.webkit.org/show_bug.cgi?id=42599
2188
2189         We need to consider the current element at insertion-time when deciding
2190         whether to redirect insertion to the foster parent.  Previously, we
2191         were considering the current element *both* at insertion-time and at
2192         the time we created the guard.
2193
2194         * html/HTMLConstructionSite.h:
2195         (WebCore::HTMLConstructionSite::RedirectToFosterParentGuard::RedirectToFosterParentGuard):
2196         * html/HTMLTreeBuilder.cpp:
2197         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
2198         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2199         (WebCore::HTMLTreeBuilder::defaultForInTableText):
2200
2201 2010-07-20  Matthew Delaney  <mdelaney@apple.com>
2202
2203         Reviewed by Kenneth Rohde Christiansen.
2204
2205         Failing 2d.path.stroke.prune.curve philip canvas test
2206         https://bugs.webkit.org/show_bug.cgi?id=42190
2207
2208         * html/canvas/CanvasRenderingContext2D.cpp:
2209         (WebCore::CanvasRenderingContext2D::closePath): Added check to make sure there's a non-trivial path to close. Since there is currently no way to check if the current point is the start point, or similarly if there is only 1 point in the current subpath (since these are both sufficient conditions for a trivial subpath), then checking that the bounding rectangle has both zero width and height proves also to be a sufficient condition for a trivial path.
2210         (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Added in simple bounds as per the spec.
2211         (WebCore::CanvasRenderingContext2D::bezierCurveTo): Added in simple bounds as per the spec.
2212         * platform/graphics/cg/PathCG.cpp:
2213         (WebCore::Path::closeSubpath): Moved the check for an empty path up on level to make it platform independent and remove redundancy.
2214
2215 2010-07-19  Victoria Kirst  <vrk@google.com>
2216
2217         Reviewed by David Levin.
2218
2219         Added a simple implementation of VideoLayerChromium. Uses the
2220         LayerChromium::updateTextureRect() to send video frames to the
2221         GPU.
2222         https://bugs.webkit.org/show_bug.cgi?id=42234
2223
2224         * WebCore.gypi: Added include for VideoLayerChromium.
2225         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2226         (WebCore::GraphicsLayerChromium::setContentsToMedia): Implemented
2227         setContentsToMedia, though it does not seem to trigger a repaint
2228         correctly.
2229         * platform/graphics/chromium/GraphicsLayerChromium.h:
2230         * platform/graphics/chromium/VideoLayerChromium.cpp: Added.
2231         (WebCore::VideoLayerChromium::create):
2232         (WebCore::VideoLayerChromium::VideoLayerChromium):
2233         (WebCore::VideoLayerChromium::updateTextureContents):
2234         * platform/graphics/chromium/VideoLayerChromium.h: Added.
2235         (WebCore::VideoLayerChromium::drawsContent):
2236
2237 2010-07-19  Dirk Schulze  <krit@webkit.org>
2238
2239         Reviewed by Nikolas Zimmermann.
2240
2241         SVG CleanUp of SVGPathData parsing
2242         https://bugs.webkit.org/show_bug.cgi?id=41410
2243
2244         Cleanup the parsing code for SVG Paths. Move classes out of the convoluted SVGParserUtilities.cpp
2245         in their own files. Make use of WebCore specific objects in parsing code like FloatPoint, AffineTransform,
2246         etc. instead of using home-brewn solutions.
2247         The SVGPathParser parses a path data string and delivers the parsed segments and values to the SVGPathConsumer.
2248         SVGPathConsumer is the base class for SVGPathBuilder and SVGPathSegListBuilder, that either build the platform
2249         Path object or a SVGPathSegList out of the segments.
2250         We're now directly parsing floats instead of truncating precision to float afterwards.
2251
2252         SVG Path with an arc with radius of 0 does not render
2253         https://bugs.webkit.org/show_bug.cgi?id=40448
2254
2255         If one of the radii on the elliptic arc are zero, we should draw a line from the starting point to
2256         the end point according to the spec. Fixed this bug with this patch, because an is zero check and 
2257         an DRT check was neccessary with the current clean-up.
2258         Extended svg/dom/path-parser.xhml to check the correct behavior.
2259
2260         * Android.mk:
2261         * GNUmakefile.am:
2262         * WebCore.gypi:
2263         * WebCore.pro:
2264         * WebCore.vcproj/WebCore.vcproj:
2265         * WebCore.xcodeproj/project.pbxproj:
2266         * platform/graphics/FloatPoint.h:
2267         (WebCore::FloatPoint::move): Follow WebKit style and use multiple lines for the function.
2268         (WebCore::FloatPoint::scale): Scale FloatPoint.
2269         (WebCore::operator+=):
2270         (WebCore::operator+): Add two FloatPoints and give back the sum as FloatPoint.
2271         * svg/SVGAllInOne.cpp: Added new created files.
2272         * svg/SVGAnimateElement.cpp:
2273         (WebCore::SVGAnimateElement::calculateFromAndToValues): Use new PathParser to create a PathSegList.
2274         * svg/SVGAnimateMotionElement.cpp:
2275         (WebCore::SVGAnimateMotionElement::parseMappedAttribute): Use new PathParser to create a Path.
2276         * svg/SVGGlyphElement.cpp:
2277         (WebCore::parsePathData): Use new PathParser to create a Path.
2278         * svg/SVGParserUtilities.cpp:
2279         (WebCore::parseArcFlag): Removed parseArcFlag(double&), we parse in float now.
2280         * svg/SVGParserUtilities.h: Removed path parsing code and a lot of unneccessary includes.
2281         * svg/SVGPathBuilder.cpp: Added.
2282         (WebCore::SVGPathBuilder::SVGPathBuilder):
2283         (WebCore::SVGPathBuilder::build): Builds a normalized Path.
2284         (WebCore::SVGPathBuilder::moveTo):
2285         (WebCore::SVGPathBuilder::lineTo):
2286         (WebCore::SVGPathBuilder::curveToCubic):
2287         (WebCore::SVGPathBuilder::closePath):
2288         * svg/SVGPathBuilder.h: Added. We just create normalized Paths, so this functions should never be reached.
2289         (WebCore::SVGPathBuilder::lineToHorizontal):
2290         (WebCore::SVGPathBuilder::lineToVertical):
2291         (WebCore::SVGPathBuilder::curveToCubicSmooth):
2292         (WebCore::SVGPathBuilder::curveToQuadratic):
2293         (WebCore::SVGPathBuilder::curveToQuadraticSmooth):
2294         (WebCore::SVGPathBuilder::arcTo):
2295         * svg/SVGPathConsumer.h: Added. Base class of SVGPathBuilder and SVGPathSegListBuilder.
2296         (WebCore::):
2297         (WebCore::SVGPathConsumer::SVGPathConsumer):
2298         (WebCore::SVGPathConsumer::~SVGPathConsumer):
2299         * svg/SVGPathElement.cpp:
2300         (WebCore::SVGPathElement::parseMappedAttribute): Use new PathParser to create a PathSegList.
2301         * svg/SVGPathParser.cpp: Added.
2302         (WebCore::SVGPathParser::SVGPathParser):
2303         (WebCore::SVGPathParser::~SVGPathParser):
2304         (WebCore::SVGPathParser::parseClosePathSegment):
2305         (WebCore::SVGPathParser::parseMoveToSegment):
2306         (WebCore::SVGPathParser::parseLineToSegment):
2307         (WebCore::SVGPathParser::parseLineToHorizontalSegment):
2308         (WebCore::SVGPathParser::parseLineToVerticalSegment):
2309         (WebCore::SVGPathParser::parseCurveToCubicSegment):
2310         (WebCore::SVGPathParser::parseCurveToCubicSmoothSegment):
2311         (WebCore::SVGPathParser::parseCurveToQuadraticSegment):
2312         (WebCore::SVGPathParser::parseCurveToQuadraticSmoothSegment):
2313         (WebCore::SVGPathParser::parseArcToSegment):
2314         (WebCore::SVGPathParser::parsePathDataString):
2315         (WebCore::SVGPathParser::decomposeArcToCubic): Normalizes an arc to multiple cubic curves.
2316         * svg/SVGPathParser.h: Added.
2317         * svg/SVGPathSegListBuilder.cpp: Added.
2318         (WebCore::SVGPathSegListBuilder::SVGPathSegListBuilder):
2319         (WebCore::SVGPathSegListBuilder::build):
2320         (WebCore::SVGPathSegListBuilder::moveTo):
2321         (WebCore::SVGPathSegListBuilder::lineTo):
2322         (WebCore::SVGPathSegListBuilder::lineToHorizontal):
2323         (WebCore::SVGPathSegListBuilder::lineToVertical):
2324         (WebCore::SVGPathSegListBuilder::curveToCubic):
2325         (WebCore::SVGPathSegListBuilder::curveToCubicSmooth):
2326         (WebCore::SVGPathSegListBuilder::curveToQuadratic):
2327         (WebCore::SVGPathSegListBuilder::curveToQuadraticSmooth):
2328         (WebCore::SVGPathSegListBuilder::arcTo):
2329         (WebCore::SVGPathSegListBuilder::closePath):
2330         * svg/SVGPathSegListBuilder.h: Added.
2331
2332 2010-07-15  Yuzo Fujishima  <yuzo@google.com>
2333
2334         Reviewed by Dan Bernstein.
2335
2336         Fix for Bug 42342 - Font download error for an @font-face rule invalidates other @font-face rules for the same font-family
2337         https://bugs.webkit.org/show_bug.cgi?id=42342
2338
2339         Test: fast/css/font-face-download-error.html
2340
2341         * css/CSSSegmentedFontFace.cpp:
2342         (WebCore::CSSSegmentedFontFace::isValid): Valid if at least one font
2343         face is valid.
2344         (WebCore::CSSSegmentedFontFace::getFontData): Check validity for each
2345         font face.
2346         * css/CSSSegmentedFontFace.h: Make isValid private.
2347
2348 2010-07-19  Kent Tamura  <tkent@chromium.org>
2349
2350         Reviewed by Shinichiro Hamaji.
2351
2352         [Chromium] Fix style errors of RenderThemeChromiumWin.cpp
2353         https://bugs.webkit.org/show_bug.cgi?id=42568
2354
2355         * rendering/RenderThemeChromiumWin.cpp:
2356         (WebCore::):
2357         (WebCore::getNonClientMetrics):
2358         (WebCore::systemFontSize):
2359         (WebCore::pointsToPixels):
2360         (WebCore::querySystemBlinkInterval):
2361         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
2362         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
2363         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
2364         (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor):
2365         (WebCore::RenderThemeChromiumWin::paintButton):
2366         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2367         (WebCore::RenderThemeChromiumWin::paintMenuList):
2368         (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
2369         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
2370
2371 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2372
2373         (Hopefully the last) Windows build fix.
2374         
2375         Version of CoreServices.h in WebKit Support Libraries uses
2376         pragma once, unlike the version I have locally. Switch based
2377         on __COLORSYNCDEPRECATED__ instead.
2378
2379         * WebCorePrefix.h:
2380
2381 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2382
2383         Windows build fix.
2384
2385         * WebCorePrefix.h:
2386
2387 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2388
2389         Build fix.
2390
2391         * WebCorePrefix.h:
2392
2393 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2394
2395         Build fix.
2396
2397         * WebCorePrefix.h:
2398
2399 2010-07-19  Steve Falkenburg  <sfalken@apple.com>
2400
2401         Windows Build fixes for new ColorSync API.
2402         We support both new and old APIs, since the newer headers aren't in the tree yet.
2403
2404         * WebCorePrefix.h: Removed include of CoreServices.h. Included via ColorSyncPriv.h instead, since header may not be present.
2405         * platform/graphics/cg/ColorCG.cpp:
2406         (WebCore::createCGColor): Conditionally use new ColorSync API.
2407         * platform/graphics/opentype/OpenTypeUtilities.cpp: Define Fixed if CoreServices.h doesn't.
2408         * platform/graphics/win/GraphicsLayerCACF.cpp:
2409         (WebCore::GraphicsLayerCACF::updateLayerDrawsContent): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
2410         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: Include AssertMacros.h.
2411         * platform/network/cf/ResourceErrorCF.cpp:
2412         (WebCore::ResourceError::operator CFErrorRef): Use 0 instead of nil, since nil is no longer present via CoreServices.h.
2413
2414 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
2415
2416         Reviewed by Dimitri Glazkov.
2417
2418         Only set unloadEventEnd when the unload event is actually fired
2419         https://bugs.webkit.org/show_bug.cgi?id=42607
2420
2421         r63689 introduced this ASSERT and it began failing on Qt and Mac debug.
2422         For some reason, it did not fail on Windows (which is where I was
2423         testing). The ASSERT was disabled in r63699.
2424
2425         Test: page-cache related layout tests don't crash in debug mode on Mac.
2426
2427         * loader/FrameLoader.cpp:
2428         (WebCore::FrameLoader::stopLoading):
2429
2430 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2431
2432         Reviewed by Kenneth Rohde Christiansen.
2433
2434         [Qt] Don't unnecessarily copy QPainterPath in fillPath() and strokePath()
2435         https://bugs.webkit.org/show_bug.cgi?id=42513
2436
2437         Avoid making unnecessary deep-copies of QPainterPaths that will
2438         be discarded after use.
2439
2440         * platform/graphics/qt/GraphicsContextQt.cpp:
2441         (WebCore::GraphicsContext::fillPath):
2442         (WebCore::GraphicsContext::strokePath):
2443
2444 2010-07-19  Kenneth Russell  <kbr@google.com>
2445
2446         Reviewed by Nate Chapin.
2447
2448         WebGL rendering results must be made available to Canvas.toDataURL and 2D drawImage
2449         https://bugs.webkit.org/show_bug.cgi?id=34719
2450
2451         Fixed compiler warning introduced by original patch. No new tests;
2452         covered by existing tests.
2453
2454         * platform/graphics/mac/GraphicsContext3DMac.mm:
2455         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2456
2457 2010-07-19  Anders Carlsson  <andersca@apple.com>
2458
2459         Reviewed by Darin Adler, Adam Roben, Dan Bernstein and Sam Weinig.
2460
2461         Handle NP_ASFILE and NP_ASFILEONLY transfer modes
2462         https://bugs.webkit.org/show_bug.cgi?id=42587
2463
2464         * WebCore.exp.in:
2465         Export functions from FileSystem.h
2466         
2467         * platform/mac/FileSystemMac.mm:
2468         (WebCore::openTemporaryFile):
2469         Try to create a temporary file using mkstemp.
2470
2471 2010-07-19  Anders Carlsson  <andersca@apple.com>
2472
2473         Reviewed by Sam Weinig.
2474
2475         Implement NPN_PostURLNotify
2476         https://bugs.webkit.org/show_bug.cgi?id=42602
2477
2478         Export symbols needed by WebKit2.
2479
2480         * WebCore.exp.in:
2481
2482 2010-07-19  Tony Gentilcore  <tonyg@chromium.org>
2483
2484         Unreviewed build fix.
2485
2486         Remove overzealous ASSERT from r63689
2487         https://bugs.webkit.org/show_bug.cgi?id=42606
2488
2489         No new tests because no new functionality.
2490
2491         * loader/FrameLoader.cpp:
2492         (WebCore::FrameLoader::stopLoading):
2493
2494 2010-07-19  Joseph Pecoraro  <joepeck@webkit.org>
2495
2496         Reviewed by Mark Rowe.
2497
2498         Web Inspector: Do Not Copy *.re2js Inspector Resources in XCode Build Phase
2499         https://bugs.webkit.org/show_bug.cgi?id=42601
2500
2501         Remove *.re2js files after copying them over in the Build Phase. We do
2502         the same to remove the WebKit.qrc file.
2503
2504         * WebCore.xcodeproj/project.pbxproj:
2505
2506 2010-07-17  Tony Gentilcore  <tonyg@chromium.org>
2507
2508         Reviewed by Darin Fisher.
2509
2510         [Web Timing] Move times to DocumentLoader and fix bugs in mark points
2511         https://bugs.webkit.org/show_bug.cgi?id=42512
2512
2513         Test: fast/dom/webtiming-navigate-within-document.html
2514
2515         * loader/DocumentLoader.h: Move the FrameLoadTimeline (now call DocumentLoadTiming) to the DocumentLoader.
2516         (WebCore::DocumentLoader::documentLoadTiming):
2517         * loader/FrameLoader.cpp:
2518         (WebCore::FrameLoader::stopLoading): Set unloadEventEnd on the provisional DocumentLoader. Add some ASSERTs to tighten things up.
2519         (WebCore::FrameLoader::loadWithDocumentLoader): This was not the right place to set navigationStart. Setting it here caused it to be set before the unload form prompt and caused it to be reset when navigating within the document.
2520         (WebCore::FrameLoader::finishedLoading): Set responseEnd on the active DocumentLoader.
2521         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): This is the right place for navigationStart as defined by the spec.
2522         * loader/FrameLoader.h: Get rid of FrameLoadTimeline.
2523         * loader/FrameLoaderTypes.h: Rename FrameLoadTimeline to DocumentLoadTiming. It is even more apparent this doesn't belong in this file now. I am planning to submit a patch moving it out ASAP, but didn't want to muddy this patch with all those build files.
2524         (WebCore::DocumentLoadTiming::DocumentLoadTiming):
2525         * loader/MainResourceLoader.cpp:
2526         (WebCore::MainResourceLoader::willSendRequest): Move fetchStart out of this method to load(), and rewrite setting of redirectStart, redirectEnd, and redirectCount to be more readable.
2527         (WebCore::MainResourceLoader::load): Set fetchStart slightly earlier here and tighten it up with some ASSERTs.
2528         * page/DOMWindow.cpp:
2529         (WebCore::DOMWindow::dispatchLoadEvent): Set loadEventStart and loadEventEnd on the DocumentLoader.
2530         * page/Navigation.cpp:
2531         (WebCore::Navigation::redirectCount): Retrieve redirectCount from the DocumentLoader.
2532         * page/Timing.cpp:
2533         (WebCore::getPossiblySkewedTimeInKnownRange): The skew problem turned out to be due to the fact that chromium's currentTime() implementation only syncs to the system time every 60 seconds. So absolute times across threads may be skewed slightly. I resolved this temporarily by clipping the time from another thread into a known bound. A better long term solution is probably to add a currentTimeFromSystemTime() method and call that for web timing marks.
2534         (WebCore::Timing::navigationStart):
2535         (WebCore::Timing::unloadEventEnd):
2536         (WebCore::Timing::redirectStart):
2537         (WebCore::Timing::redirectEnd):
2538         (WebCore::Timing::fetchStart):
2539         (WebCore::Timing::domainLookupStart):
2540         (WebCore::Timing::domainLookupEnd):
2541         (WebCore::Timing::connectStart):
2542         (WebCore::Timing::connectEnd):
2543         (WebCore::Timing::requestStart):
2544         (WebCore::Timing::requestEnd):
2545         (WebCore::Timing::responseStart):
2546         (WebCore::Timing::responseEnd):
2547         (WebCore::Timing::loadEventStart):
2548         (WebCore::Timing::loadEventEnd):
2549         (WebCore::Timing::documentLoader):
2550         (WebCore::Timing::documentLoadTiming):
2551         (WebCore::Timing::resourceLoadTiming):
2552         (WebCore::Timing::resourceLoadTimeRelativeToAbsolute): Ensure requestTime is in the range of fetchStart to responseEnd.
2553         * page/Timing.h:
2554
2555 2010-07-19  Chris Marrin  <cmarrin@apple.com>
2556
2557         Reviewed by Darin Adler.
2558
2559         https://bugs.webkit.org/show_bug.cgi?id=42118
2560         Disable WebGL on Leopard for now. 
2561
2562         LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
2563         GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
2564         SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
2565         software OpenGL driver on machines without this support.
2566
2567         * Configurations/FeatureDefines.xcconfig:
2568
2569 2010-07-19  Eric Carlson  <eric.carlson@apple.com>
2570
2571         Reviewed by Sam Weinig.
2572
2573         Remove HTML5 media element 'load' event
2574         https://bugs.webkit.org/show_bug.cgi?id=30464
2575         <rdar://problem/5650561>
2576
2577         * html/HTMLMediaElement.cpp:
2578         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_completelyLoaded.
2579         (WebCore::HTMLMediaElement::parseMappedAttribute): Don't deal with 'load' event.
2580         (WebCore::HTMLMediaElement::prepareForLoad): Set m_completelyLoaded to false.
2581         (WebCore::HTMLMediaElement::setNetworkState): Don't post 'load' event.
2582         (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if m_networkState != NETWORK_LOADING.
2583         (WebCore::HTMLMediaElement::userCancelledLoad): No more NETWORK_LOADED state.
2584         * html/HTMLMediaElement.h:
2585         (WebCore::HTMLMediaElement::):
2586         * html/HTMLMediaElement.idl: Remove NETWORK_LOADING.
2587
2588 2010-07-19  Alexey Proskuryakov  <ap@apple.com>
2589
2590         Reviewed by Darin Adler.
2591
2592         https://bugs.webkit.org/show_bug.cgi?id=40996
2593         Progress event should not be fired during synchronous XMLHttpRequest
2594
2595         https://bugs.webkit.org/show_bug.cgi?id=17502
2596         Assertion failure when trying to restart a sync XMLHttpRequest as an async one from onreadystatechange
2597
2598         Tests: http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events.html
2599                http/tests/xmlhttprequest/xmlhttprequest-sync-vs-async-assertion-failure.html
2600
2601         * xml/XMLHttpRequest.cpp:
2602         (WebCore::XMLHttpRequest::callReadyStateChangeListener): We now only dispatch readystatechange
2603         event for synchronous requests in states UNSENT, OPENED and DONE. I'm not sure what exactly
2604         the spec draft says about readystatechange for sync requests, but this seems to be the most
2605         logical and backwards compatible behavior.
2606         (WebCore::XMLHttpRequest::didReceiveData): Don't dispatch progress events for sync requests.
2607         Note that we already don't dispatch upload progress events for those.
2608
2609 2010-07-19  Dan Bernstein  <mitz@apple.com>
2610
2611         Reviewed by Simon Fraser.
2612
2613         <rdar://problem/7232109> Unpainted white area appears at the edge of the page when body has bg color
2614         https://bugs.webkit.org/show_bug.cgi?id=34913
2615
2616         Tests: fast/repaint/view-background-from-body-1.html
2617                fast/repaint/view-background-from-body-2.html
2618
2619         * rendering/RenderBox.cpp:
2620         (WebCore::RenderBox::styleWillChange): If this is the body renderer and its current style is
2621         null, repaint the view, similarly to how the view is repainted for any repaint-or-higher
2622         style changes.
2623         * rendering/RenderObjectChildList.cpp:
2624         (WebCore::RenderObjectChildList::removeChildNode): If the removed child is the body renderer,
2625         repaint the view, in case the body’s background was propagated to the view.
2626
2627 2010-07-19  Adam Roben  <aroben@apple.com>
2628
2629         Fix an assertion when a plugin returns -1 from NPP_Write
2630
2631         We were forgetting to call setDefersLoading(false) before destroying
2632         the PluginStream. In the process of destroying the stream, someone
2633         would call setDefersLoading(true), and we would assert because we were
2634         already deferring loads.
2635
2636         Fixes <http://webkit.org/b/42563> Assertion failure in
2637         ResourceHandle::setDefersLoading when running
2638         plugins/return-negative-one-from-write.html on Windows
2639
2640         Reviewed by Anders Carlsson.
2641
2642         * plugins/PluginStream.cpp:
2643         (WebCore::PluginStream::deliverData): Call setDefersLoading(false)
2644         before destroying the stream, to match the setDefersLoading(true) call
2645         earlier in this function. (We already call setDefersLoading(false) in
2646         the non-error case later on.)
2647
2648 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2649
2650         Reviewed by Antonio Gomes.
2651
2652         [EFL] Fix some EFL theme issues
2653         https://bugs.webkit.org/show_bug.cgi?id=42569
2654
2655         Keep a pointer to theme filename and check for it correctly.
2656         Reduce the scope of some variables.
2657         Don't test for platformWidget() since we are not using it.
2658
2659         No new tests, no new functionality.
2660
2661         * platform/efl/WidgetEfl.cpp:
2662         (WebCore::Widget::applyCursor):
2663         (WebCore::Widget::setCursor):
2664
2665 2010-07-19  Rafael Antognolli  <antognolli@profusion.mobi>
2666
2667         Reviewed by Antonio Gomes.
2668
2669         [EFL] Add ifdef to compile code just on presence of Ecore_X
2670         https://bugs.webkit.org/show_bug.cgi?id=42567
2671
2672         No new tests since there's no new functionality.
2673
2674         * platform/efl/WidgetEfl.cpp:
2675         (WebCore::Widget::setEvasObject):
2676         Add #ifdef HAVE_ECORE_X to it.
2677
2678 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2679
2680         Reviewed by Pavel Feldman.
2681
2682         Web Inspector: add/removeStyleClass shouldn't increase number of spaces between class names.
2683         https://bugs.webkit.org/show_bug.cgi?id=42485
2684
2685         * inspector/front-end/utilities.js:
2686         (Element.prototype.removeStyleClass):
2687
2688 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2689
2690         Reviewed by Pavel Feldman.
2691
2692         Web Inspector: show stack trace for uncaught exceptions when Web Inspector is open.
2693         https://bugs.webkit.org/show_bug.cgi?id=42560
2694
2695         * bindings/js/ScriptController.cpp:
2696         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2697         * bindings/js/ScriptController.h:
2698         * bindings/v8/ScriptController.cpp:
2699         (WebCore::ScriptController::setCaptureCallStackForUncaughtExceptions):
2700         * bindings/v8/ScriptController.h:
2701         * bindings/v8/V8ConsoleMessage.cpp:
2702         (WebCore::V8ConsoleMessage::dispatchNow):
2703         (WebCore::V8ConsoleMessage::handler):
2704         * bindings/v8/V8ConsoleMessage.h:
2705         * inspector/ConsoleMessage.cpp:
2706         (WebCore::ConsoleMessage::ConsoleMessage):
2707         * inspector/ConsoleMessage.h:
2708         * inspector/InspectorController.cpp:
2709         (WebCore::InspectorController::addMessageToConsole):
2710         (WebCore::InspectorController::startGroup):
2711         (WebCore::InspectorController::connectFrontend):
2712         (WebCore::InspectorController::disconnectFrontend):
2713         * inspector/InspectorController.h:
2714         * inspector/front-end/ConsoleView.js:
2715         (WebInspector.ConsoleMessage.prototype._formatMessage):
2716         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2717         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2718         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
2719         (WebInspector.ConsoleMessage.prototype.toString):
2720         * inspector/front-end/inspector.css:
2721         (.console-message.repeated-message > ol.stack-trace):
2722         (.section .properties ol, .event-properties ol, .stack-trace ol, ol.stack-trace):
2723         (ol.stack-trace):
2724         (.section .properties ol.expanded, .event-properties ol.expanded, .stack-trace ol, ol.stack-trace):
2725         * page/Console.cpp:
2726         (WebCore::Console::addMessage):
2727         * page/Console.h:
2728         (WebCore::):
2729
2730 2010-07-19  Robin Burchell  <robin.burchell@collabora.co.uk>
2731
2732         Reviewed by Antonio Gomes
2733
2734         [Qt] Use memcpy() instead of qMemCopy()
2735         This is supposed to be more efficient, as the compiler is able to
2736         optimise more.
2737
2738         Additionally,  qMemCopy() is only strictly supposed to be used in
2739         headers (see Qt's src/corelib/qglobal.h for reference)
2740         See: https://bugs.webkit.org/show_bug.cgi?id=42392
2741
2742         * bridge/qt/qt_runtime.cpp:
2743         (JSC::Bindings::convertQVariantToValue):
2744
2745 2010-07-14  Andreas Kling  <andreas.kling@nokia.com>
2746
2747         Reviewed by Kenneth Rohde Christiansen.
2748
2749         Canvas: Rename operator==(CanvasStyle,CanvasStyle) since it isn't a proper equality check
2750         https://bugs.webkit.org/show_bug.cgi?id=42284
2751
2752         New name is isEquivalentColor(CanvasStyle).
2753
2754         * html/canvas/CanvasRenderingContext2D.cpp:
2755         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2756         (WebCore::CanvasRenderingContext2D::setFillStyle):
2757         * html/canvas/CanvasStyle.cpp:
2758         (WebCore::CanvasStyle::isEquivalentColor):
2759         * html/canvas/CanvasStyle.h:
2760
2761 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2762
2763         Reviewed by Kenneth Rohde Christiansen.
2764
2765         [Qt] Canvas: Wrong internal positioning of drawImage() shadows
2766         https://bugs.webkit.org/show_bug.cgi?id=42510
2767
2768         * platform/graphics/qt/ImageQt.cpp:
2769         (WebCore::BitmapImage::draw):
2770         * platform/graphics/qt/StillImageQt.cpp:
2771         (WebCore::StillImage::draw):
2772
2773 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2774
2775         Reviewed by Kenneth Rohde Christiansen.
2776
2777         [Qt] Render shadow when drawing one canvas onto another
2778         https://bugs.webkit.org/show_bug.cgi?id=42508
2779
2780         * platform/graphics/qt/StillImageQt.cpp:
2781         (WebCore::StillImage::draw):
2782
2783 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2784
2785         Reviewed by Kenneth Rohde Christiansen.
2786
2787         [Qt] Some composition modes fail when color has alpha zero
2788         https://bugs.webkit.org/show_bug.cgi?id=36973
2789
2790         Remove erroneous optimization that ignored painting calls when
2791         the stroke/fill color had an alpha value of zero.
2792
2793         * platform/graphics/qt/GraphicsContextQt.cpp:
2794         (WebCore::GraphicsContext::drawLine):
2795         (WebCore::GraphicsContext::strokeArc):
2796         (WebCore::GraphicsContext::fillPath):
2797         (WebCore::GraphicsContext::strokePath):
2798         (WebCore::GraphicsContext::fillRect):
2799         (WebCore::GraphicsContext::fillRoundedRect):
2800
2801 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2802
2803         Reviewed by Kenneth Rohde Christiansen.
2804
2805         CSS3 background: Number of layers should be determined by background-image element count
2806         https://bugs.webkit.org/show_bug.cgi?id=41201
2807
2808         Manual test: css3-background-layer-count.html
2809
2810         Spec link:
2811         http://www.w3.org/TR/css3-background/#layering
2812
2813         * manual-tests/css3-background-layer-count.html: Added.
2814         * rendering/style/FillLayer.cpp:
2815         (WebCore::FillLayer::fillUnsetProperties): Don't repeat
2816         image properties, they determine the total number of layers.
2817         (WebCore::FillLayer::cullEmptyLayers): Change culling logic
2818         to discard all layers after the first one without an image set.
2819         * rendering/style/RenderStyle.h:
2820         (WebCore::InheritedFlags::adjustBackgroundLayers): Call
2821         fillUnsetProperties() before cullEmptyLayers()
2822         (WebCore::InheritedFlags::adjustMaskLayers): Ditto.
2823
2824 2010-07-19  Andreas Kling  <andreas.kling@nokia.com>
2825
2826         Reviewed by Kenneth Rohde Christiansen.
2827
2828         [Qt] Avoid QImage::pixel() in getImageData()
2829         https://bugs.webkit.org/show_bug.cgi?id=42463
2830
2831         * platform/graphics/qt/ImageBufferQt.cpp:
2832         (WebCore::getImageData): Use QImage::scanLine() instead
2833         of fetching data pixel-by-pixel.
2834
2835 2010-07-19  Yury Semikhatsky  <yurys@chromium.org>
2836
2837         Reviewed by Pavel Feldman.
2838
2839         Web Inspector: hide "toggle debugger" button when debugger is always enabled
2840         https://bugs.webkit.org/show_bug.cgi?id=42558
2841
2842         * inspector/front-end/ScriptsPanel.js:
2843         (WebInspector.ScriptsPanel):
2844
2845 2010-07-19  Hans Wennborg  <hans@chromium.org>
2846
2847         Reviewed by Steve Block.
2848
2849         Explicitly declare DeviceOrientationEvent destructor and define it in the .cpp file
2850         https://bugs.webkit.org/show_bug.cgi?id=42466
2851
2852         (Original problem at https://bugs.webkit.org/show_bug.cgi?id=42447)
2853
2854         No new functionality so no new tests.
2855
2856         * dom/DeviceOrientationEvent.cpp:
2857         (WebCore::DeviceOrientationEvent::~DeviceOrientationEvent):
2858         Move here to avoid needing to have the full declaration of
2859         DeviceOrientation in DeviceOrientationEvent.h.
2860         * dom/DeviceOrientationEvent.h:
2861
2862 2010-07-18  Anders Carlsson  <andersca@apple.com>
2863
2864         Fix Build.
2865
2866         * rendering/RenderThemeMac.mm:
2867         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2868
2869 2010-07-18  Anders Carlsson  <andersca@apple.com>
2870
2871         Reviewed by Dan Bernstein.
2872
2873         Always set the current NSGraphicsContext before calling drawWithFrame
2874         https://bugs.webkit.org/show_bug.cgi?id=42542
2875
2876         * rendering/RenderThemeMac.mm:
2877         (WebCore::RenderThemeMac::paintMeter):
2878         (WebCore::RenderThemeMac::paintSearchField):
2879         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2880         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
2881         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2882
2883 2010-07-18  Anders Carlsson  <andersca@apple.com>
2884
2885         Reviewed by Sam Weinig.
2886
2887         Move PluginWidget to WebKit
2888         https://bugs.webkit.org/show_bug.cgi?id=42530
2889
2890         Rename the PluginWidget class to PluginViewBase and make it an abstract base class.
2891         
2892         This is a stopgap measure until we have a single PluginView class that we can use everywhere.
2893
2894         * WebCore.exp.in:
2895         Remove PluginWidget symbols.
2896
2897         * WebCore.xcodeproj/project.pbxproj:
2898         Update.
2899
2900         * platform/Widget.h:
2901         (WebCore::Widget::isPluginViewBase):
2902         Return false.
2903
2904         * plugins/PluginViewBase.h: Added.
2905         (WebCore::PluginViewBase::platformLayer):
2906         Always return 0 here now.
2907
2908         (WebCore::PluginViewBase::isPluginViewBase):
2909         Return true.
2910
2911         * plugins/PluginWidget.h: Removed.
2912         * plugins/mac/PluginWidgetMac.mm: Removed.
2913         * rendering/RenderEmbeddedObject.cpp:
2914         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
2915         Cast to PluginWidgetBase instead.
2916         
2917         * rendering/RenderLayerBacking.cpp:
2918         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2919         Cast to PluginWidgetBase instead.
2920
2921 2010-07-18  Dean Jackson  <dino@apple.com>
2922
2923         Unreviewed.
2924
2925         Remove the unwanted extra line that Xcode
2926         added in my last commit.
2927
2928         * WebCore.xcodeproj/project.pbxproj:
2929
2930 2010-07-18  Dean Jackson  <dino@apple.com>
2931
2932         Reviewed by Simon Fraser.
2933
2934         https://bugs.webkit.org/show_bug.cgi?id=41259
2935         Interacting with a <select> element within a transformed and clipped
2936         container scrolls the container
2937
2938         The Node::getRect and ContainerNode::getRect functions were not
2939         transform-aware. This fixes both, and has a test to make sure
2940         we're not breaking any existing scrollToView code. This means
2941         that a <select> popup will appear in the correct place if it
2942         is within a transformed and scrolled container.
2943
2944         Test: fast/transforms/scrollIntoView-transformed.html
2945
2946         * dom/ContainerNode.cpp:
2947         (WebCore::ContainerNode::getUpperLeftCorner):
2948         (WebCore::ContainerNode::getLowerRightCorner):
2949         - make sure we call localToAbsolute in the right order
2950         (after we've done a local move) and pass in the flags to
2951         indicate it should look for transforms.
2952         * dom/Node.cpp:
2953         (WebCore::Node::getRect):
2954         - make sure localToAbsolute gets told to look for transforms.
2955
2956 2010-07-18  Anders Carlsson  <andersca@apple.com>
2957
2958         Reviewed by Sam Weinig.
2959
2960         Add NPJSObjectMap class
2961         https://bugs.webkit.org/show_bug.cgi?id=42524
2962
2963         Export ScriptController functions.
2964
2965         * WebCore.exp.in:
2966
2967 2010-07-18  Anders Carlsson  <andersca@apple.com>
2968
2969         Reviewed by Dan Bernstein.
2970
2971         Implement some NPRuntime related NPN_ functions
2972         https://bugs.webkit.org/show_bug.cgi?id=42518
2973
2974         * WebCore.exp.in:
2975         Export IdentifierRep functions.
2976
2977 2010-07-17  TJ Lee  <tjlee0909@gmail.com>
2978
2979         Reviewed by Timothy Hatcher.
2980
2981         HTMLLinkElement ignores dnsPrefetchingEnabled setting
2982         https://bugs.webkit.org/show_bug.cgi?id=42500
2983
2984         Changed the HTML Link tag to check that the browser
2985         has DNS-prefetching enabled before calling ResourceHandle::prepareForURL.
2986
2987         There are no test cases for this patch because it was unclear how to test
2988         this using a layout test. A possible test case would be to
2989         clear the DNS cache on the client's machine before loading a page with
2990         <link rel="dns-prefetch" href="SomeSiteThatsNotTheCurrentOne.com"> and
2991         then check the number of DNS cache entries.
2992
2993         * html/HTMLLinkElement.cpp:
2994         (WebCore::HTMLLinkElement::process):
2995
2996 2010-07-16  Maciej Stachowiak  <mjs@apple.com>
2997
2998         Reviewed by Sam Weinig.
2999
3000         Asynchronous policy checks make FrameLoader think it is done loading prematurely
3001         https://bugs.webkit.org/show_bug.cgi?id=42489
3002
3003         This caused many (~100) layout tsts to fail under WebKit2.
3004
3005         * loader/SubframeLoader.cpp:
3006         (WebCore::SubframeLoader::loadSubframe): Right after loading a new subframe,
3007         if m_complete is true, do not consider it done if it has a provisional loader.
3008         This will happen in the case where the policy check is asynchronous.
3009         * loader/FrameLoader.cpp:
3010         (WebCore::FrameLoader::subframeIsLoading): For similar reasons,
3011         consider a subframe to be loading if it has a policy decision pending.
3012
3013 2010-07-15  Qi Zhang  <qi.2.zhang@nokia.com>
3014
3015         Reviewed by Kenneth Rohde Christiansen.
3016
3017         [Qt] Failure on http://philip.html5.org/tests/canvas/suite/tests/2d.shadow.alpha.5.html
3018         https://bugs.webkit.org/show_bug.cgi?id=38400
3019
3020         FillRect with shadow need take alpha information from fillstyle
3021
3022         * platform/graphics/qt/GraphicsContextQt.cpp:
3023         (WebCore::GraphicsContext::fillRect):
3024
3025 2010-07-17  Nikita Vasilyev  <me@elv1s.ru>
3026
3027         Reviewed by Pavel Feldman.
3028
3029         Web Inspector: [REGRESSION] Edit long CSS attributes works incorrect
3030         https://bugs.webkit.org/show_bug.cgi?id=42476
3031
3032         * inspector/front-end/inspector.css:
3033         (.editing):
3034
3035 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3036
3037         Reviewed by Sam Weinig.
3038
3039         Failing 2d.path.arcTo.ensuresubpath.* philip canvas tests
3040         https://bugs.webkit.org/show_bug.cgi?id=42186
3041
3042         Move code from Qt's Path::addArcTo() up to CanvasRenderingContext2D.
3043
3044         * html/canvas/CanvasRenderingContext2D.cpp:
3045         (WebCore::CanvasRenderingContext2D::arcTo): Behave as moveTo(x1,y1)
3046         if the current path is empty.
3047         * platform/graphics/qt/PathQt.cpp:
3048         (WebCore::Path::addArcTo): Remove now-redundant code.
3049
3050 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3051
3052         Reviewed by Oliver Hunt.
3053
3054         QtWebkit creates an unnecessary deep copy of images when canvas drawing is done
3055         A https://bugs.webkit.org/show_bug.cgi?id=32530
3056
3057         Solve this by adding ImageBuffer::imageForRendering() which returns an image
3058         that can be used for rendering now, but isn't a copy to be kept around.
3059
3060         * platform/graphics/ImageBuffer.h:
3061         (WebCore::ImageBuffer::imageForRendering):
3062         * platform/graphics/qt/ImageBufferQt.cpp:
3063         (WebCore::ImageBuffer::imageForRendering): Added to provide an image that can
3064         be used for rendering now, but may change in the future.
3065         * platform/graphics/qt/StillImageQt.cpp:
3066         (WebCore::StillImage::StillImage):
3067         (WebCore::StillImage::~StillImage):
3068         (WebCore::StillImage::size):
3069         (WebCore::StillImage::nativeImageForCurrentFrame):
3070         (WebCore::StillImage::draw):
3071         * platform/graphics/qt/StillImageQt.h:
3072         (WebCore::StillImage::createForRendering): Added for use in
3073         ImageBuffer::imageForRendering(), provides a thin wrapper around a QPixmap*.
3074         * html/HTMLCanvasElement.cpp:
3075         (WebCore::HTMLCanvasElement::paint): Paint with ImageBuffer::imageForRendering()
3076
3077 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3078
3079         Reviewed by Oliver Hunt.
3080
3081         [Qt] Remove redundant logic in Path::addArcTo()
3082         https://bugs.webkit.org/show_bug.cgi?id=42494
3083
3084         Bounds checking for arcTo() is now done in cross-platform code
3085         thanks to <http://trac.webkit.org/changeset/63599>
3086
3087         * platform/graphics/qt/PathQt.cpp:
3088         (WebCore::Path::addArcTo):
3089
3090 2010-07-16  Zhe Su  <suzhe@chromium.org>
3091
3092         Reviewed by Darin Adler.
3093
3094         REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
3095         https://bugs.webkit.org/show_bug.cgi?id=42253
3096
3097         This patch just reverts the change to WebCore/page/FocusController.cpp
3098         made in changeset 61484, and add a new method named
3099         willSetInputMethodState in EditorClient interface, which gets called
3100         in FocusController just before changing the focused node.
3101
3102         No new tests, because no new functionality.
3103
3104         * loader/EmptyClients.h:
3105         (WebCore::EmptyEditorClient::willSetInputMethodState):
3106         * page/EditorClient.h:
3107         * page/FocusController.cpp:
3108         (WebCore::FocusController::setFocusedNode):
3109
3110 2010-07-16  Matthew Delaney  <mdelaney@apple.com>
3111
3112         Reviewed by Sam Weinig.
3113
3114         Failing 2d.path.stroke.prune.arc philip canvas test
3115         https://bugs.webkit.org/show_bug.cgi?id=42188
3116
3117         * html/canvas/CanvasRenderingContext2D.cpp: 
3118         Note, updated parameter names to match spec.
3119         (WebCore::CanvasRenderingContext2D::lineTo): Pulled bound checking code out of lower code to have checks for all platforms.
3120         (WebCore::CanvasRenderingContext2D::arcTo): Bound checking per the spec for arcTo parameters. Updated parameter names to match spec.
3121         * platform/graphics/Path.h: Added in new method to expose the current position.
3122         * platform/graphics/cairo/PathCairo.cpp:
3123         (WebCore::Path::currentPoint): Added in likely correct implementation for this call with a FIXME just in case.
3124         * platform/graphics/cg/PathCG.cpp:
3125         (WebCore::Path::currentPoint): Added in support for this call.
3126         * platform/graphics/haiku/PathHaiku.cpp:
3127         (WebCore::Path::currentPoint): Added in stub for this call.
3128         * platform/graphics/openvg/PathOpenVG.cpp:
3129         (WebCore::Path::currentPoint): Added in likely implementation for this call with a FIXME just in case.
3130         * platform/graphics/qt/PathQt.cpp:
3131         (WebCore::Path::currentPoint): Added in implementation for this call courtesy of Andrea Kling.
3132         * platform/graphics/skia/PathSkia.cpp:
3133         (WebCore::Path::currentPoint): Added in stub for this call.
3134         * platform/graphics/wince/PathWince.cpp:
3135         (WebCore::Path::currentPoint): Added in stub for this call.
3136         * platform/graphics/wx/PathWx.cpp:
3137         (WebCore::Path::currentPoint): Added in stub for this call.
3138
3139 2010-07-16  Sheriff Bot  <webkit.review.bot@gmail.com>
3140
3141         Unreviewed, rolling out r63593.
3142         http://trac.webkit.org/changeset/63593
3143         https://bugs.webkit.org/show_bug.cgi?id=42487
3144
3145         Broke a few chromium pixel tests (Requested by tony^work on
3146         #webkit).
3147
3148         * platform/graphics/skia/GraphicsContextSkia.cpp:
3149         (WebCore::GraphicsContext::drawConvexPolygon):
3150         (WebCore::GraphicsContext::drawEllipse):
3151         (WebCore::GraphicsContext::drawLine):
3152         (WebCore::GraphicsContext::strokeArc):
3153         (WebCore::GraphicsContext::strokePath):
3154         (WebCore::GraphicsContext::strokeRect):
3155
3156 2010-07-16  Dan Bernstein  <mitz@apple.com>
3157
3158         Reviewed by Sam Weinig.
3159
3160         Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
3161         https://bugs.webkit.org/show_bug.cgi?id=29355
3162
3163         * WebCore.exp.in: Updated.
3164         * platform/graphics/Font.cpp:
3165         (WebCore::Font::Font): Added a font smoothing mode parameter to the constructor.
3166         Set the font smoothing mode in the font description.
3167         * platform/graphics/Font.h:
3168
3169 2010-07-16  Satish Sampath  <satish@chromium.org>
3170
3171         Reviewed by Anders Carlsson.
3172
3173         Add speech attribute to IDL for enabling access from JS.
3174         https://bugs.webkit.org/show_bug.cgi?id=42483
3175
3176         No tests added, this change is a pre-requisite for future layout tests.
3177
3178         * html/HTMLInputElement.cpp:
3179         (WebCore::HTMLInputElement::parseMappedAttribute): Update the renderer when speech attribute changes.
3180         * html/HTMLInputElement.idl: Added the speech attribute to IDL.
3181
3182 2010-07-16  Fady Samuel  <fsamuel@chromium.org>
3183
3184         Reviewed by David Levin.
3185         
3186         Avoids adding stroke when stroke-width is zero.
3187
3188         SVG - stroke-width:0 bug with stroke other than "none"
3189         https://bugs.webkit.org/show_bug.cgi?id=42387
3190
3191         Test: svg/stroke/path-zero-strokewidth-test.svg
3192
3193         * platform/graphics/skia/GraphicsContextSkia.cpp:
3194         (WebCore::GraphicsContext::drawConvexPolygon):
3195         (WebCore::GraphicsContext::drawEllipse):
3196         (WebCore::GraphicsContext::drawLine):
3197         (WebCore::GraphicsContext::strokeArc):
3198         (WebCore::GraphicsContext::strokePath):
3199         (WebCore::GraphicsContext::strokeRect):
3200
3201 2010-07-16  Kent Tamura  <tkent@chromium.org>
3202
3203         Unreviewed, build fix.
3204
3205         * rendering/RenderThemeChromiumWin.cpp:
3206         (WebCore::RenderThemeChromiumWin::getThemeData): Fix a typo.
3207
3208 2010-07-16  Kent Tamura  <tkent@chromium.org>
3209
3210         Reviewed by Darin Fisher.
3211
3212         [Chromium] <input type=number> UI implementation for Windows
3213         https://bugs.webkit.org/show_bug.cgi?id=42259
3214
3215         No additional tests.  Existing tests cover this change and we'll
3216         update expectations.
3217
3218         * platform/chromium/ChromiumBridge.h: Add paintSpinButton().
3219         * rendering/RenderThemeChromiumWin.cpp:
3220         (WebCore::RenderThemeChromiumWin::determineState):
3221          Add ControlSubPart parameter and add support for spin buttons.
3222         (WebCore::RenderThemeChromiumWin::determineClassicState): ditto.
3223         (WebCore::RenderThemeChromiumWin::getThemeData): ditto.
3224         (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle): Added.
3225         (WebCore::RenderThemeChromiumWin::paintInnerSpinButton): Added.
3226         * rendering/RenderThemeChromiumWin.h:
3227           Declare ControlSubpart, and add it to some functions.
3228
3229 2010-07-16  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3230
3231         Reviewed by Antonio Gomes.
3232
3233         [EFL] Use function provided by EFL for system beep
3234         https://bugs.webkit.org/show_bug.cgi?id=42481
3235
3236         EFL port does not support automated tests, yet.
3237
3238         * platform/efl/SoundEfl.cpp:
3239         (WebCore::systemBeep):
3240
3241 2010-07-16  Sarah Strong  <sarah.e.strong@gmail.com>
3242
3243         Reviewed by Gustavo Noronha Silva.
3244
3245         [GTK] Clipboard data is lost on exit
3246         https://bugs.webkit.org/show_bug.cgi?id=27411
3247
3248         No new tests. To manually test the bug fixed by this patch:
3249         1) Open an application that uses a webkit webview on a GNOME-based system
3250         2) Copy some text from that application
3251         3) Optional: paste it to another application. This should work properly with and without this patch.
3252         4) Exit the application completely.
3253         5) Paste:
3254                   Without this patch, you cannot because your clipboard is empty.
3255                   With this patch, pasting succeeds.
3256         I have not included an automated test because of the difficulty of testing behaviour after application exit.
3257
3258 2010-07-16  Kent Tamura  <tkent@chromium.org>
3259
3260         Reviewed by Darin Fisher.
3261
3262         Keyboard operations for <input type=number>
3263         https://bugs.webkit.org/show_bug.cgi?id=42076
3264
3265         - The up arrow key works as stepUp().
3266         - The down arrow key works as stepDown().
3267         - Reject characters other than + - 0-9 . e E
3268
3269         Test: fast/forms/input-number-keyoperation.html
3270
3271         * html/HTMLInputElement.cpp:
3272         (WebCore::HTMLInputElement::defaultEventHandler):
3273          Add up/down arrow keys support, and call handleBeforeTextInsertedEvent().
3274         (WebCore::isNumberCharacter):
3275         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
3276          For type=number, remove unacceptable characters.
3277         * html/HTMLInputElement.h:
3278
3279 2010-07-16  Kent Tamura  <tkent@chromium.org>
3280
3281         Reviewed by Darin Fisher.
3282
3283         Improve hover state handling for spin buttons
3284         https://bugs.webkit.org/show_bug.cgi?id=42260
3285
3286         Background:
3287         When we move the mouse cursor to a node from the outside of the node,
3288         the following steps are executed.
3289          1. setHovered(true) is called.
3290          2. The node is repainted for the hover state.
3291          3. 'mousemove' event is dispatched for the node.
3292         For a spin-button, RenderTheme::paint{Inner,Outer}SpinButton() is
3293         called before the event handler of the spin-button. So we can't
3294         detect which of the up part or the down part is hovered correctly.
3295
3296         Solution:
3297         The hover state of a spin-button is one of three states;
3298         Indeterminate, Up, and Down. The state is Indeterminate since
3299         setHovered(true) is called and until 'mousemove' event is
3300         dispatched.
3301
3302         No new tests because there are no implementation of spin-buttons
3303         with hovered state yet.
3304
3305         * rendering/RenderTheme.cpp:
3306         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
3307         (WebCore::RenderTheme::isHovered):
3308          Return false if the node is a spin-button and the state is Indeterminate.
3309         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
3310         * rendering/TextControlInnerElements.cpp:
3311         (WebCore::SpinButtonElement::SpinButtonElement):
3312          Initialize m_upDownState.
3313         (WebCore::SpinButtonElement::defaultEventHandler):
3314         (WebCore::SpinButtonElement::setHovered):
3315          Set the state to Indeterminate.
3316         * rendering/TextControlInnerElements.h:
3317         (WebCore::SpinButtonElement::upDownState):
3318
3319 2010-07-16  Dan Bernstein  <mitz@apple.com>
3320
3321         Reviewed by Simon Fraser.
3322
3323         <rdar://problem/7527532> Crash beneath setSelection() during detach()
3324         https://bugs.webkit.org/show_bug.cgi?id=42020
3325
3326         No test because I am unable to reproduce the crash.
3327
3328         * rendering/RenderView.cpp:
3329         (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is
3330         RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling
3331         localToAbsolute() during detach().
3332
3333 2010-07-16  Anders Carlsson  <andersca@apple.com>
3334
3335         Fix release build.
3336
3337         * storage/Database.cpp:
3338         (WebCore::DerefContextTask::performTask):
3339
3340 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
3341
3342         Reviewed by Sam Weinig.
3343
3344         Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)
3345         https://bugs.webkit.org/show_bug.cgi?id=41409
3346         
3347         AnimationController::isAnimatingPropertyOnRenderer() really asked whether an accelerated animation
3348         or transition was running. This prevented us from falling into compositing layers for animation
3349         on platforms, like Windows, that don't have accelerated animations.
3350         
3351         Fix by making things more explicit: we now have two methods, isRunningAnimationOnRenderer()
3352         and isRunningAcceleratedAnimationOnRenderer().
3353         
3354         Changes are more extensive because I flipped the sense of 'm_fallbackAnimating', which is
3355         now 'm_isAccelerated', for clarity.
3356
3357         Test: compositing/animation/animation-compositing.html
3358
3359         * page/animation/AnimationBase.cpp:
3360         (WebCore::AnimationBase::AnimationBase): m_fallbackAnimating -> m_isAccelerated
3361         (WebCore::AnimationBase::blendProperties): Ditto.
3362         (WebCore::AnimationBase::updateStateMachine): Ditto.
3363         * page/animation/AnimationBase.h:
3364         (WebCore::AnimationBase::isAnimatingProperty): Takes new acceleratedOnly parameter
3365         which causes the method to only return true if the animation is accelerated.
3366         (WebCore::AnimationBase::isAccelerated): Changed from isFallbackAnimating.
3367
3368         * page/animation/AnimationController.cpp:
3369         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
3370         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
3371         (WebCore::AnimationController::isRunningAnimationOnRenderer):
3372         (WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):
3373
3374         * page/animation/CompositeAnimation.h:
3375         * page/animation/AnimationController.h: Rename isAnimatingPropertyOnRenderer(), add
3376         isRunningAcceleratedAnimationOnRenderer().
3377         * page/animation/AnimationControllerPrivate.h: Ditto.
3378         * page/animation/CompositeAnimation.cpp:
3379         (WebCore::CompositeAnimation::updateTransitions): !isFallbackAnimating() -> isAccelerated().
3380         (WebCore::CompositeAnimation::isAnimatingProperty): Pass acceleratedOnly down.
3381
3382         * page/animation/ImplicitAnimation.cpp:
3383         (WebCore::ImplicitAnimation::timeToNextService): !isFallbackAnimating() -> isAccelerated().
3384
3385         * page/animation/KeyframeAnimation.cpp:
3386         (WebCore::KeyframeAnimation::timeToNextService): isFallbackAnimating() -> !isAccelerated().
3387
3388         * rendering/RenderLayerBacking.cpp:
3389         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Avoid touching the transform or
3390         opacity if an accelerated animation is running.
3391
3392         * rendering/RenderLayerCompositor.cpp:
3393         (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Make compositing layers
3394         if an animation of transform or opacity is running.
3395
3396 2010-07-16  Simon Fraser  <simon.fraser@apple.com>
3397
3398         Reviewed by Sam Weinig.
3399
3400         Assertion when turning Accelerated Compositing off on a composited page
3401         https://bugs.webkit.org/show_bug.cgi?id=42408
3402
3403         When accelerated compositing is turned off, check m_hasAcceleratedCompositing
3404         before saying that the root layer will be composited. Fixes an assertion.
3405
3406         * rendering/RenderLayerCompositor.cpp:
3407         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3408
3409 2010-07-16  Antonio Gomes  <tonikitoo@webkit.org>
3410
3411         Reviewed by Simon Fraser.
3412
3413         Spatial navigation: do not consider outline for focusable element boundaries
3414         https://bugs.webkit.org/show_bug.cgi?id=42474
3415
3416         Test: fast/events/spatial-navigation/snav-zero-margin-content.html
3417
3418         Currently in WebCore::renderRectRelativeToRootDocument function, we are calling
3419         RenderObject::absoluteClippedOverflowRect to obtain the rect boundary of a given
3420         renderer/element. This method deals with outline, which is out of elements boundary.
3421         It makes spatial navigation to fail on common sites like google.gom: "Web, Images, Map, etc"
3422         are inaccessible.
3423
3424         Patch replaces RenderObject::absoluteClippedOverflowRect by Node::getRect,
3425         which returns only the absolute bounding box rect of the Element.
3426
3427         * page/SpatialNavigation.cpp:
3428         (WebCore::renderRectRelativeToRootDocument):
3429         (WebCore::checkNegativeCoordsForNode):
3430
3431 2010-07-15  Antonio Gomes  <tonikitoo@webkit.org>
3432
3433         Reviewed by Gustavo Noronha.
3434
3435         [Qt] Remove unnecessary WebKit headers inclusion from WebCore files
3436         https://bugs.webkit.org/show_bug.cgi?id=42416
3437
3438         There are some places in WebCore unnecessarily including WebKit headers.
3439
3440         Cleaning up only, no testing needed.
3441
3442         * platform/network/qt/ResourceHandleQt.cpp:
3443         * platform/qt/RenderThemeQt.cpp:
3444         * platform/qt/WidgetQt.cpp:
3445
3446 2010-07-16  Dan Bernstein  <mitz@apple.com>
3447
3448         Reviewed by Anders Carlsson.
3449
3450         Refinement of r63556: moved the tab width computation back to Font, but added a
3451         SimpleFontData parameter.
3452
3453         * platform/graphics/Font.h:
3454         (WebCore::Font::tabWidth):
3455         * platform/graphics/WidthIterator.cpp:
3456         (WebCore::WidthIterator::advance):
3457         * platform/graphics/mac/ComplexTextController.cpp:
3458         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3459
3460 2010-07-16  Tony Gentilcore  <tonyg@chromium.org>
3461
3462         Reviewed by Pavel Feldman.
3463
3464         Fix unit error in calculating timings from ResourceLoadTiming API
3465         https://bugs.webkit.org/show_bug.cgi?id=42473
3466
3467         The start and end offsets are already in milliseconds so they should not be multiplied by 1000.0 like requestTime.
3468
3469         No new tests because, for a yet unknown reason, the ResourceLoadTiming API is not populated in the chromium test shell like it is in full chromium. This means the test that would have caught this bug (fast/dom/webtiming.html) currently has its expectation set to FAIL.
3470
3471         * page/Timing.cpp:
3472         (WebCore::Timing::domainLookupStart):
3473         (WebCore::Timing::domainLookupEnd):
3474         (WebCore::Timing::connectStart):
3475         (WebCore::Timing::connectEnd):
3476         (WebCore::Timing::requestStart):
3477         (WebCore::Timing::requestEnd):
3478         (WebCore::Timing::responseStart):
3479
3480 2010-07-16  Anders Carlsson  <andersca@apple.com>
3481
3482         Reviewed by Sam Weinig.
3483
3484         clang++ build fixes for JavaScriptCore and WebCore
3485         https://bugs.webkit.org/show_bug.cgi?id=42478
3486
3487         * platform/network/Credential.cpp:
3488         (WebCore::Credential::type):
3489         * platform/network/Credential.h:
3490         Remove const qualifier on Credential::type since it doesn't have an effect on the type.
3491
3492 2010-07-16  Anders Carlsson  <andersca@apple.com>
3493
3494         Reviewed by David Levin.
3495
3496         Really add WARN_UNUSED_RESULT to leakRef
3497         https://bugs.webkit.org/show_bug.cgi?id=42464
3498
3499         Get rid of a call to releaseRef here by passing the ScriptExecutionContext
3500         reference through to the DerefContextTask.
3501
3502         * storage/Database.cpp:
3503         (WebCore::DerefContextTask::create):
3504         (WebCore::DerefContextTask::performTask):
3505         (WebCore::DerefContextTask::DerefContextTask):
3506         (WebCore::Database::~Database):
3507
3508 2010-07-16  Ilya Tikhonovsky  <loislo@chromium.org>
3509
3510         Reviewed by Yury Semikhatsky.
3511
3512         WebInspector: The current implementation of generator is not ready
3513         for generation Backend part of Inspector interface. The full patch
3514         with Backend is quite big and I've split it.
3515         https://bugs.webkit.org/show_bug.cgi?id=42462
3516
3517         * inspector/CodeGeneratorInspector.pm:
3518         * inspector/Inspector.idl:
3519         * inspector/InspectorValues.cpp:
3520         (WebCore::InspectorArray::get):
3521         * inspector/InspectorValues.h:
3522         (WebCore::InspectorArray::length):
3523
3524 2010-07-15  Rob Buis  <rwlbuis@gmail.com>
3525
3526         Reviewed by Darin Adler.
3527
3528         An empty value for xml:lang isn't considered
3529         https://bugs.webkit.org/show_bug.cgi?id=42042
3530
3531         Allow :lang selector to match empty values for xml:lang and
3532         lang attributes.
3533
3534         Test: fast/css/lang-selector-empty-attribute.xhtml
3535
3536         * css/CSSStyleSelector.cpp:
3537         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3538
3539 2010-07-16  Alexander Pavlov  <apavlov@chromium.org>
3540
3541         Reviewed by Pavel Feldman.
3542
3543         Web Inspector: Shift-Enter does not do a reverse search. It searches forward.
3544         https://bugs.webkit.org/show_bug.cgi?id=42459
3545
3546         * inspector/front-end/inspector.js:
3547         (WebInspector.performSearch):
3548
3549 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3550
3551         Reviewed by Yury Semikhatsky.
3552
3553         Web Inspector: do not include SSL time into Waiting time.
3554
3555         https://bugs.webkit.org/show_bug.cgi?id=42458
3556
3557         * inspector/front-end/ResourcesPanel.js:
3558         (WebInspector.ResourcesPanel.prototype._showPopover):
3559
3560 2010-07-16  Dan Bernstein  <mitz@apple.com>
3561
3562         Reviewed by Anders Carlsson.
3563
3564         <rdar://problem/8198266> white-space: pre text containing tabs is not laid out correctly when the font lacks a space glyph
3565         https://bugs.webkit.org/show_bug.cgi?id=42437
3566
3567         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
3568
3569         Changed the tab width computation to use the width of the space glyph from the font that has
3570         a space glyph, which may be a fallback font if the primary font lacks a space glyph.
3571
3572         * platform/graphics/Font.h: Removed Font::tabWidth().
3573         * platform/graphics/WidthIterator.cpp:
3574         (WebCore::WidthIterator::advance):
3575         * platform/graphics/mac/ComplexTextController.cpp:
3576         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3577
3578 2010-07-16  Yury Semikhatsky  <yurys@chromium.org>
3579
3580         Unreviewed. Chromium build fix. Add missing include.
3581
3582         * inspector/ConsoleMessage.h:
3583
3584 2010-07-16  Andreas Kling  <andreas.kling@nokia.com>
3585
3586         Reviewed by Antonio Gomes.
3587
3588         [Qt] Path: Avoid creating a new GraphicsContext in strokeContains() and strokeBoundingRect()
3589         https://bugs.webkit.org/show_bug.cgi?id=42456
3590
3591         * platform/graphics/qt/PathQt.cpp:
3592         (WebCore::scratchContext): Added, provides a scratch GraphicsContext.
3593         (WebCore::Path::strokeContains): Use the scratch context instead
3594         of creating a new GraphicsContext.
3595         (WebCore::Path::strokeBoundingRect): Ditto.
3596
3597 2010-07-16  Pavel Podivilov  <podivilov@chromium.org>
3598
3599         Reviewed by Yury Semikhatsky.
3600
3601         [V8] V8Proxy::retrieve may return null if javascript is disabled. Add a check
3602         to avoid crashes in inspected page.
3603         https://bugs.webkit.org/show_bug.cgi?id=42065
3604
3605         * bindings/v8/ScriptDebugServer.cpp:
3606         (WebCore::ScriptDebugServer::addListener):
3607
3608 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3609
3610         Reviewed by Yury Semikhatsky.
3611
3612         Web Inspector: add SSL time label into the resources popover.
3613
3614         https://bugs.webkit.org/show_bug.cgi?id=42458
3615
3616         * English.lproj/localizedStrings.js:
3617         * inspector/InspectorResource.cpp:
3618         (WebCore::InspectorResource::buildObjectForTiming):
3619         * inspector/front-end/ResourcesPanel.js:
3620         (WebInspector.ResourcesPanel.prototype._showPopover):
3621
3622 2010-07-16  Pavel Feldman  <pfeldman@chromium.org>
3623
3624         Reviewed by Yury Semikhatsky.
3625
3626         Web Inspector: disable AppCache in chromium.
3627
3628         https://bugs.webkit.org/show_bug.cgi?id=41858
3629
3630         * inspector/front-end/Settings.js: