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