Pixel difference in FEMorphology effect
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-07-15  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
2
3         Pixel difference in FEMorphology effect
4         https://bugs.webkit.org/show_bug.cgi?id=63930
5
6         Reviewed by Zoltan Herczeg.
7
8         Using short-circuit evaluation in the setFilterEffectAttribute function
9         was wrong. We should call both setRadius functions and evaluate the
10         changes separately.
11
12         * svg/SVGFEMorphologyElement.cpp:
13         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
14
15 2011-07-15  Jeff Miller  <jeffm@apple.com>
16
17         Fullscreen content doesn't use fullscreen controller on Windows
18         https://bugs.webkit.org/show_bug.cgi?id=64540
19         <rdar://problem/9510455>
20
21         Reviewed by Darin Adler.
22
23         RenderThemeWin needs to override extraFullScreenStyleSheet() to return
24         the fullscreenQuickTime stylesheet.
25
26         Test added to fullscreen/video-controls-override.html.
27
28         * rendering/RenderThemeWin.cpp:
29         (WebCore::RenderThemeWin::extraFullScreenStyleSheet): Added.
30         * rendering/RenderThemeWin.h: Override extraFullScreenStyleSheet().
31
32 2011-07-15  Nikolas Zimmermann  <nzimmermann@rim.com>
33
34         Not reviewed. Fix build failure introduced in r91061.
35
36         * page/Console.cpp:
37         (WebCore::Console::markTimeline): Remove argument name from unused parameter.
38
39 2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
40
41         Upstream QtWebKit/N9 changes related to visibleContentRect
42         https://bugs.webkit.org/show_bug.cgi?id=64589
43
44         Reviewed by Simon Hausmann.
45
46         Rename setActualVisibleContentRect to setFixedVisibleContentRect
47         as that makes it more obvious that it is an override. It is also
48         consistent with the setFixedLayout which is often used in
49         conjunction with it.
50
51         Make visibleContentRect return the fixed value if set, and remove
52         all calls to actualVisibleContentRect.
53
54         Also updated the documentation.
55
56         This is similar to what we have on our QtWebKit/N9 branch and is
57         pretty well tested.
58
59         * platform/ScrollView.cpp:
60         (WebCore::ScrollView::visibleContentRect):
61         If a fixed visibleContentRect is set, return that.
62         Remove the code returning the contents size when in
63         paintsEntireContents mode as that is wrong and already
64         ifdeffed out for EFL.
65         (WebCore::ScrollView::setScrollPosition):
66         Do not try to be smart and update the fixed visibleContentsRect
67         automatically, as the embedder might ignore the scroll request
68         for various reasons.
69         * platform/ScrollView.h:
70         (WebCore::ScrollView::setFixedVisibleContentRect):
71         (WebCore::ScrollView::fixedVisibleContentRect):
72
73 2011-07-15  Mike West  <mkwst@chromium.org>
74
75         Web Inspector: Rename console.markTimeline() to console.timeStamp() for Firebug compatibility.
76         https://bugs.webkit.org/show_bug.cgi?id=63317
77
78         Reviewed by Pavel Feldman.
79
80         Test: inspector/timeline/timeline-time-stamp.html
81
82         * inspector/InspectorConsoleInstrumentation.h:
83         (WebCore::InspectorInstrumentation::consoleTimeStamp):
84         * inspector/InspectorInstrumentation.cpp:
85         (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
86         * inspector/InspectorInstrumentation.h:
87         * inspector/InspectorTimelineAgent.cpp:
88         (WebCore::InspectorTimelineAgent::didTimeStamp):
89         * inspector/InspectorTimelineAgent.h:
90         * inspector/TimelineRecordFactory.cpp:
91         (WebCore::TimelineRecordFactory::createTimeStampData):
92         * inspector/TimelineRecordFactory.h:
93         * inspector/front-end/TimelineAgent.js:
94         * inspector/front-end/TimelineOverviewPane.js:
95         (WebInspector.TimelineOverviewPane.prototype.update.markPercentagesForRecord):
96         (WebInspector.TimelineOverviewPane.prototype.update):
97         * inspector/front-end/TimelinePanel.js:
98         (WebInspector.TimelinePanel):
99         (WebInspector.TimelinePanel.prototype.get _recordStyles):
100         (WebInspector.TimelinePanel.prototype._updateEventDividers):
101         (WebInspector.TimelinePanel.prototype._createEventDivider):
102         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
103         (WebInspector.TimelinePanel.prototype._clearPanel):
104         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
105         * page/Console.cpp:
106         (WebCore::Console::markTimeline):
107         (WebCore::Console::timeStamp):
108         * page/Console.h:
109         * page/Console.idl:
110
111 2011-07-15  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
112
113         LocalStorage: Changed the value type of ItemTable from TEXT to BLOB
114         to avoid string truncation.
115         This patch will also convert the exsisting ItemTable and perform
116         the DATA MIGRATION job.
117         https://bugs.webkit.org/show_bug.cgi?id=58762
118
119         Reviewed by Jeremy Orlow.
120
121         Tests: manual-tests/localstorage-value-truncation.html
122
123         * manual-tests/localstorage-value-truncation.html: Added.
124         Demostrate the testcase shown in bug 58762.
125         * platform/sql/SQLiteStatement.cpp:
126         (WebCore::SQLiteStatement::isColumnDeclearedAsBlob):
127         Test if the pre-defined type of column is BLOB.
128         * platform/sql/SQLiteStatement.h:
129         * storage/StorageAreaSync.cpp:
130         Change the localStorage value type from Text to BLOB to avoid the
131         value string truncation at \x00.
132         (WebCore::StorageAreaSync::openDatabase):
133         Change the database structure, use BLOB to replace the TEXT type of
134         value segment in ItemTable.
135         (WebCore::StorageAreaSync::migrateItemTableIfNeeded):
136         Migrate the ItemTable if the pre-defined type of value is TEXT.
137         (WebCore::StorageAreaSync::performImport):
138         Use getColumnBlobAsString() to import the BLOB value.
139         (WebCore::StorageAreaSync::sync):
140         Use bindBlob() to bind value string to the SQLiteStatement for the
141         database execution.
142         * storage/StorageAreaSync.h:
143
144 2011-07-15  Kentaro Hara  <haraken@google.com>
145
146         Clear the content of a search input form when 'Escape' is pressed.
147         https://bugs.webkit.org/show_bug.cgi?id=51897
148
149         This change added handleKeydownEvent() to a search input form,
150         which clears the form and triggers a 'search' event when 'Escape' is pressed.
151
152         Reviewed by Kent Tamura.
153
154         Test: fast/forms/input-search-press-escape-key.html
155
156         * html/SearchInputType.cpp:
157         (WebCore::SearchInputType::handleKeydownEvent):
158         * html/SearchInputType.h:
159
160 2011-07-15  Alexandru Chiculita  <achicu@adobe.com>
161
162         Move useRepaintBounds from RenderBlock::layoutRunsAndFloats to LineLayoutState
163         https://bugs.webkit.org/show_bug.cgi?id=64360
164
165         Reviewed by Hajime Morita.
166
167         No new tests needed because the patch is just a refactor.
168
169         * rendering/RenderBlock.h:
170         * rendering/RenderBlockLineLayout.cpp:
171         (WebCore::LineLayoutState::LineLayoutState):
172         (WebCore::LineLayoutState::usesRepaintBounds):
173         (WebCore::LineLayoutState::setRepaintRange):
174         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
175         (WebCore::RenderBlock::layoutRunsAndFloats):
176         (WebCore::RenderBlock::determineStartPosition):
177
178 2011-07-14  MORITA Hajime  <morrita@google.com>
179
180         ExceptionCodePlaceholder should have its own ExceptionCodePlaceholder.cpp file
181         https://bugs.webkit.org/show_bug.cgi?id=64503
182
183         Reviewed by Darin Adler.
184
185         No new tests. Just a file reorg.
186
187         * CMakeLists.txt:
188         * GNUmakefile.list.am:
189         * WebCore.gypi:
190         * WebCore.pro:
191         * WebCore.vcproj/WebCore.vcproj:
192         * WebCore.xcodeproj/project.pbxproj:
193         * dom/DOMAllInOne.cpp:
194         * dom/ExceptionCodePlaceholder.cpp: Added.
195         (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
196         (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
197         * dom/ExceptionCodePlaceholder.h: Removed NoExceptionAssertionChecker::m_function, which is loonger used.
198
199 2011-07-14  Mark Pilgrim  <pilgrim@chromium.org>
200
201         Remove LegacyDefaultOptionalArguments flag from WebGL
202         https://bugs.webkit.org/show_bug.cgi?id=64549
203
204         Reviewed by Kenneth Russell.
205
206         * html/canvas/WebGLRenderingContext.idl:
207
208 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
209
210         WebSocket: Introduce pywebsocket-0.6b2
211         https://bugs.webkit.org/show_bug.cgi?id=64534
212
213         Reviewed by Kent Tamura.
214
215         pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
216
217         No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
218
219         * websockets/WebSocketHandshake.cpp:
220         (WebCore::WebSocketHandshake::clientHandshakeMessage):
221         (WebCore::WebSocketHandshake::clientHandshakeRequest):
222
223 2011-07-14  SravanKumar S  <sravan.ken@gmail.com>
224
225         Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
226         https://bugs.webkit.org/show_bug.cgi?id=54476
227
228         Reviewed by Darin Adler.
229
230         No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
231
232         * accessibility/AccessibilityRenderObject.cpp:
233         (WebCore::AccessibilityRenderObject::isChecked):
234         * css/CSSStyleSelector.cpp:
235         (WebCore::CSSStyleSelector::canShareStyleWithControl):
236         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
237         * dom/CheckedRadioButtons.cpp:
238         (WebCore::CheckedRadioButtons::removeButton):
239         * html/HTMLInputElement.cpp:
240         (WebCore::HTMLInputElement::shouldAppearChecked):
241         * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
242         * rendering/RenderTheme.cpp:
243         (WebCore::RenderTheme::isChecked):
244
245 2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>
246
247         <input form="x"> should not associate the input with any forms when there is no  form with id="x"
248         https://bugs.webkit.org/show_bug.cgi?id=64509
249
250         Don't set form owner when a form associated element has the form attribute but there is no such form element.
251
252         Reviewed by Kent Tamura.
253
254         Test: fast/forms/form-attribute-nonexistence-form-id.html
255
256         * dom/Document.cpp:
257         (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
258         * dom/Document.h: Ditto.
259         * html/FormAssociatedElement.cpp:
260         (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
261         (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
262         (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
263         * html/FormAssociatedElement.h: Ditto.
264         * html/HTMLFormElement.cpp: Ditto.
265         (WebCore::HTMLFormElement::insertedIntoDocument):
266         (WebCore::HTMLFormElement::removedFromDocument):
267
268 2011-07-14  Kent Tamura  <tkent@chromium.org>
269
270         REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
271         https://bugs.webkit.org/show_bug.cgi?id=64537
272
273         Reviewed by Darin Adler.
274
275         We stopped to call updateCheckedRadioButtons() for checkboxes
276         since r90809, but we need to call RenderTheme::stateChanged(),
277         which was in updateCheckedRadioButtons(), for checkboxes.
278
279         Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
280                fast/forms/checkbox-appearance-change-by-checked.html
281
282         * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
283         from updateCheckedRadioButtons() to setChecked().
284         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
285         (WebCore::HTMLInputElement::setChecked):
286
287 2011-07-14  Adam Barth  <abarth@webkit.org>
288
289         The beforeload event allows tracking URI changes in a frame
290         https://bugs.webkit.org/show_bug.cgi?id=64482
291
292         Reviewed by Nate Chapin.
293
294         Tests: http/tests/security/beforeload-iframe-client-redirect.html
295                http/tests/security/beforeload-iframe-server-redirect.html
296
297         Only dispatch the beforeload event for a frame if we haven't yet
298         committed our first real load.  The URL that we send to our parent will
299         be the same URL the parent seens in the src attribute.
300
301         * loader/FrameLoader.cpp:
302         (WebCore::FrameLoader::loadWithDocumentLoader):
303
304 2011-07-14  Dan Bernstein  <mitz@apple.com>
305
306         LLVM Compiler build fix.
307
308         * css/CSSStyleApplyProperty.cpp:
309         (WebCore::ApplyPropertyComputeLength::applyValue):
310
311 2011-07-14  Darin Adler  <darin@apple.com>
312
313         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
314         https://bugs.webkit.org/show_bug.cgi?id=64570
315
316         Reviewed by Alexey Proskuryakov.
317
318         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
319         and that it's also reasonable to use it for not-allowed.
320
321         * platform/mac/CursorMac.mm:
322         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
323         Cursor::NoDrop.
324
325 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
326
327         Reviewed by Dimitri Glazkov.
328
329         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
330         https://bugs.webkit.org/show_bug.cgi?id=62957
331
332         No new tests / refactoring only.
333
334         * css/CSSPrimitiveValue.cpp:
335         (WebCore::CSSPrimitiveValue::computeLength):
336         Add computeLength function that returns unsigned short.
337         * css/CSSStyleApplyProperty.cpp:
338         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
339         Added class to handle computeLength based properties.
340         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
341         Initialize ApplyPropertyComputeLength for appropriate properties.
342         * css/CSSStyleSelector.cpp:
343         (WebCore::CSSStyleSelector::useSVGZoomRules):
344         Make this a public member function instead of a private static function.
345         (WebCore::CSSStyleSelector::applyProperty):
346         Removed code now implemented in CSSStyleApplyProperty.
347         (WebCore::CSSStyleSelector::setFontSize):
348         Use new useSVGZoomRules function.
349         * css/CSSStyleSelector.h:
350         Add interface for useSVGZoomRules.
351
352 2011-07-14  Antti Koivisto  <antti@apple.com>
353
354         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
355         https://bugs.webkit.org/show_bug.cgi?id=64557
356
357         Reviewed by Kenneth Rohde Christiansen.
358
359         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
360         clients may not expect it and it doesn't make much sense in any case.
361
362         * page/FrameView.cpp:
363         (WebCore::FrameView::performPostLayoutTasks):
364
365 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
366
367         Character reference parser for new XML parser
368         https://bugs.webkit.org/show_bug.cgi?id=64398
369
370         Reviewed by Adam Barth.
371
372         Refactored out the HTML entity parser and added a common template for parsing character references.
373
374         * WebCore.xcodeproj/project.pbxproj:
375         * html/parser/HTMLEntityParser.cpp:
376         (WebCore::consumeHTMLEntity):
377         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
378         (WebCore::isHexDigit):
379         (WebCore::unconsumeCharacters):
380         (WebCore::consumeCharacterReference):
381         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
382         (WebCore::consumeXMLCharacterReference):
383         * xml/parser/XMLCharacterReferenceParser.h: Added.
384
385 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
386
387         Reviewed by Pavel Feldman.
388
389         Web Inspector: panel switching is too slow.
390         https://bugs.webkit.org/show_bug.cgi?id=60959
391
392         * inspector/front-end/inspector.css:
393         (.panel):
394         (.panel.visible):
395
396 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
397
398         Web Inspector: remove more unused CSS from inspector.css
399         https://bugs.webkit.org/show_bug.cgi?id=64529
400
401         Reviewed by Pavel Feldman.
402
403         * inspector/front-end/inspector.css:
404
405 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
406
407         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
408         https://bugs.webkit.org/show_bug.cgi?id=64476
409
410         Reviewed by Kent Tamura.
411
412         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
413         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
414         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
415         RenderTextSingleLine to SearchInputType.
416
417         * html/HTMLInputElement.cpp:
418         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
419         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
420         * html/HTMLInputElement.h:
421         * html/HTMLTextAreaElement.cpp:
422         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
423         * html/HTMLTextAreaElement.h:
424         * html/HTMLTextFormControlElement.cpp:
425         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
426         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
427         * html/HTMLTextFormControlElement.h:
428         * html/SearchInputType.cpp:
429         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
430         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
431         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
432         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
433         * html/SearchInputType.h:
434         * html/TextFieldInputType.cpp:
435         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
436         * rendering/RenderTextControl.cpp:
437         * rendering/RenderTextControl.h:
438         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
439         * rendering/RenderTextControlMultiLine.cpp:
440         * rendering/RenderTextControlMultiLine.h:
441         * rendering/RenderTextControlSingleLine.cpp:
442         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
443         m_searchEventTimer.
444         * rendering/RenderTextControlSingleLine.h:
445
446 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
447
448         Move XML errors handling out from XMLDocumentParser (refactoring).
449         https://bugs.webkit.org/show_bug.cgi?id=64305
450
451         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
452
453         Reviewed by Adam Barth.
454
455         No tests needed as there is no new functionality added.
456
457         * CMakeLists.txt:
458         * GNUmakefile.list.am:
459         * WebCore.gypi:
460         * WebCore.pro:
461         * WebCore.vcproj/WebCore.vcproj:
462         * WebCore.xcodeproj/project.pbxproj:
463         * xml/XMLErrors.cpp: Added.
464         (WebCore::XMLErrors::XMLErrors):
465         (WebCore::XMLErrors::handleError):
466         (WebCore::XMLErrors::appendErrorMessage):
467         (WebCore::createXHTMLParserErrorHeader):
468         (WebCore::XMLErrors::insertErrorMessageBlock):
469         * xml/XMLErrors.h: Added.
470         * xml/parser/XMLDocumentParser.cpp:
471         (WebCore::XMLDocumentParser::pushCurrentNode):
472         (WebCore::XMLDocumentParser::handleError):
473         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
474         * xml/parser/XMLDocumentParser.h:
475         * xml/parser/XMLDocumentParserLibxml2.cpp:
476         (WebCore::PendingCallbacks::appendErrorCallback):
477         (WebCore::XMLDocumentParser::XMLDocumentParser):
478         (WebCore::XMLDocumentParser::doWrite):
479         (WebCore::XMLDocumentParser::error):
480         (WebCore::warningHandler):
481         (WebCore::fatalErrorHandler):
482         (WebCore::normalErrorHandler):
483         * xml/parser/XMLDocumentParserQt.cpp:
484         (WebCore::XMLDocumentParser::XMLDocumentParser):
485         (WebCore::XMLDocumentParser::doWrite):
486         (WebCore::XMLDocumentParser::doEnd):
487         (WebCore::XMLDocumentParser::parse):
488         (WebCore::XMLDocumentParser::parseStartElement):
489         (WebCore::XMLDocumentParser::parseDtd):
490
491 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
492
493         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
494         https://bugs.webkit.org/show_bug.cgi?id=64356
495
496         Reviewed by Yury Semikhatsky.
497
498         * inspector/Inspector.json:
499         * inspector/InspectorInstrumentation.cpp:
500         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
501         * inspector/InspectorInstrumentation.h:
502         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
503         * inspector/InspectorResourceAgent.cpp:
504         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
505         * inspector/InspectorResourceAgent.h:
506         * inspector/front-end/NetworkManager.js:
507         (WebInspector.NetworkManager.prototype.requestContent):
508         (WebInspector.NetworkDispatcher):
509         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
510         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
511         * inspector/front-end/NetworkPanel.js:
512         (WebInspector.NetworkLogView.prototype._frameNavigated):
513         * loader/FrameLoader.cpp:
514         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
515         * loader/FrameLoader.h:
516
517 2011-07-14  Tim Horton  <timothy_horton@apple.com>
518
519         Clear SVGElementInstance's children immediately upon detachment
520         https://bugs.webkit.org/show_bug.cgi?id=63739
521         <rdar://problem/9705708>
522
523         Reviewed by Nikolas Zimmermann.
524
525         In addition to clearing the instance's children in the destructor,
526         clear them when the instance is detached from its <use>. This way,
527         we won't attempt to use them after we're detached but before the
528         destructor has been called.
529
530         Test: svg/custom/use-crash-using-children-before-destroy.svg
531
532         * svg/SVGElementInstance.cpp:
533         (WebCore::SVGElementInstance::~SVGElementInstance):
534         (WebCore::SVGElementInstance::clearChildren):
535         * svg/SVGElementInstance.h:
536         * svg/SVGUseElement.cpp:
537         (WebCore::SVGUseElement::detachInstance):
538
539 2011-07-14  Nate Chapin  <japhet@chromium.org>
540
541         Don't skip custom cursors if an Image* is null,
542         since this can lead to a non-custom Cursor flickering 
543         back in when the custom cursor hasn't finished loading yet.
544         https://bugs.webkit.org/show_bug.cgi?id=64321
545
546         Reviewed by Darin Fisher.
547
548         Manual test, since we're testing visual flickering.
549
550         * manual-tests/canvas-cursor.html: Added.
551         * page/EventHandler.cpp:
552         (WebCore::EventHandler::selectCursor):
553         * platform/Cursor.cpp:
554         (WebCore::determineHotSpot):
555
556 2011-07-14  Young Han Lee  <joybro@company100.net>
557
558         Reviewed by Dirk Schulze.
559
560         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
561         https://bugs.webkit.org/show_bug.cgi?id=63911
562
563         Some functions assumed calculateKeyTimesIndex() does not return the last index of
564         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
565         accepts 1 as the percent argument.
566
567         To avoid the assumption, and for more efficiency, this patch allows the functions
568         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
569         These functions have always returned the last element of the corresponding vector
570         in that situation.
571
572         * svg/SVGAnimationElement.cpp:
573         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
574         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
575
576 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
577
578         Web Inspector: remove more dead code
579         https://bugs.webkit.org/show_bug.cgi?id=64524
580
581         Reviewed by Yury Semikhatsky.
582
583         * WebCore.gypi:
584         * inspector/front-end/SummaryBar.js: Removed.
585         * inspector/front-end/WebKit.qrc:
586         * inspector/front-end/inspector.css:
587         * inspector/front-end/inspector.html:
588
589 2011-07-14  Peter Varga  <pvarga@webkit.org>
590
591         [Qt][V8] Build fix after r90830.
592
593         Reviewed by Csaba Osztrogonác.
594
595         The histogramEnumeration() function isn't available from the Qt port's
596         PlatformBridge.h because this function is Chromium specific.
597         Since the http://trac.webkit.org/changeset/90830 change we need to
598         guard the usage of the histogramEnumeration() function.
599
600         No new tests needed.
601
602         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
603         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
604         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
605         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
606
607 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
608
609         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
610         https://bugs.webkit.org/show_bug.cgi?id=64519
611
612         Reviewed by Pavel Feldman.
613
614         * inspector/front-end/WorkerManager.js:
615         (WebInspector.WorkerManager):
616         (WebInspector.WorkerManager.isWorkerFrontend):
617         (WebInspector.WorkerManager.isSharedWorkerFrontend):
618         (WebInspector.WorkerManager.prototype._openInspectorWindow):
619         (WebInspector.DedicatedWorkerMessageForwarder):
620
621 2011-07-14  MORITA Hajime  <morrita@google.com>
622
623         Unreviewed, rolling out r90976, r90981, and r90985.
624         http://trac.webkit.org/changeset/90976
625         http://trac.webkit.org/changeset/90981
626         http://trac.webkit.org/changeset/90985
627         https://bugs.webkit.org/show_bug.cgi?id=64251
628
629         build break
630
631         * WebCore.exp.in:
632         * dom/NodeRenderingContext.cpp:
633         (WebCore::NodeRenderingContext::NodeRenderingContext):
634         (WebCore::NodeRenderingContext::nextRenderer):
635         (WebCore::NodeRenderingContext::previousRenderer):
636         * dom/NodeRenderingContext.h:
637         * dom/ShadowContentElement.cpp:
638         (WebCore::ShadowContentElement::attach):
639         (WebCore::ShadowContentElement::detach):
640         * dom/ShadowContentElement.h:
641         * dom/ShadowContentSelector.cpp:
642         (WebCore::ShadowContentSelector::ShadowContentSelector):
643         (WebCore::ShadowContentSelector::selectInclusion):
644         (WebCore::ShadowContentSelector::willAttachContentFor):
645         (WebCore::ShadowContentSelector::didAttachContent):
646         (WebCore::ShadowContentSelector::activeElement):
647         * dom/ShadowContentSelector.h:
648         * dom/ShadowRoot.cpp:
649         (WebCore::ShadowRoot::~ShadowRoot):
650         (WebCore::ShadowRoot::activeContentElement):
651         * dom/ShadowRoot.h:
652         * testing/Internals.cpp:
653         * testing/Internals.h:
654         * testing/Internals.idl:
655
656 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
657
658         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
659         https://bugs.webkit.org/show_bug.cgi?id=64475
660
661         Reviewed by Kent Tamura.
662
663         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
664         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
665
666         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
667         objects classes.
668
669         * html/HTMLTextAreaElement.cpp:
670         (WebCore::HTMLTextAreaElement::defaultEventHandler):
671         * html/HTMLTextFormControlElement.cpp:
672         (WebCore::HTMLTextFormControlElement::forwardEvent):
673         * html/HTMLTextFormControlElement.h:
674         * html/TextFieldInputType.cpp:
675         (WebCore::TextFieldInputType::forwardEvent):
676         * rendering/RenderTextControl.cpp:
677         * rendering/RenderTextControl.h:
678         * rendering/RenderTextControlMultiLine.cpp:
679         * rendering/RenderTextControlMultiLine.h:
680         * rendering/RenderTextControlSingleLine.cpp:
681         * rendering/RenderTextControlSingleLine.h:
682
683 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
684
685         Web Inspector: if you rename an element into the INPUT element the browser will crash.
686         https://bugs.webkit.org/show_bug.cgi?id=64292
687
688         Reviewed by Joseph Pecoraro.
689
690         * inspector/InspectorDOMAgent.cpp:
691         (WebCore::InspectorDOMAgent::setNodeName):
692         Unnecessary function call copyNonAttributeProperties was removed.
693
694 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
695
696         WebSocket: Implement hybi handshake
697         https://bugs.webkit.org/show_bug.cgi?id=64344
698
699         Reviewed by Kent Tamura.
700
701         Implement WebSocket handshake which is described at
702         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
703
704         Notable differences from hixie-76 protocol are:
705         - Challenge-response scheme has been changed dramatically.
706         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
707         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
708         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
709
710         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
711                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
712                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
713
714         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
715         yet, because pywebsocket does not accept requests from half-baked client implementation
716         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
717         in WebCore.
718
719         * websockets/WebSocketHandshake.cpp:
720         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
721         with hybi-10's ones.
722         (WebCore::generateHixie76SecWebSocketKey):
723         (WebCore::generateHixie76Key3):
724         (WebCore::generateHixie76ExpectedChallengeResponse):
725         (WebCore::generateSecWebSocketKey):
726         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
727         (WebCore::getExpectedWebSocketAccept):
728         Calculates the expected value of Sec-WebSocket-Accept.
729         (WebCore::WebSocketHandshake::WebSocketHandshake):
730         (WebCore::WebSocketHandshake::clientHandshakeMessage):
731         (WebCore::WebSocketHandshake::clientHandshakeRequest):
732         (WebCore::WebSocketHandshake::readServerHandshake):
733         (WebCore::WebSocketHandshake::serverWebSocketAccept):
734         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
735         (WebCore::WebSocketHandshake::checkResponseHeaders):
736         * websockets/WebSocketHandshake.h:
737
738 2011-07-13  MORITA Hajime  <morrita@google.com>
739
740         [ShadowContentElement] forwarded node should be able to access its hosting content element.
741         https://bugs.webkit.org/show_bug.cgi?id=64251
742         
743         Reviewed by Dimitri Glazkov.
744
745         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
746           ShadowInclusionSet instance is owned by ShadowRoot.
747         - Updated the set on inclusion list changes.
748         - Used the set to retrieve the content element of NodeRenderingContext.
749         
750         There are also related refactoring and cleanup:
751         - Renamed NodeRenderingContext::m_contentElement to m_includer
752         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
753         
754         Test: fast/dom/shadow/content-element-includer.html
755
756         * WebCore.exp.in:
757         * dom/NodeRenderingContext.cpp:
758         (WebCore::NodeRenderingContext::NodeRenderingContext):
759         (WebCore::NodeRenderingContext::nextRenderer):
760         (WebCore::NodeRenderingContext::previousRenderer):
761         * dom/NodeRenderingContext.h:
762         (WebCore::NodeRenderingContext::includer): 
763         * dom/ShadowContentElement.cpp:
764         (WebCore::removeFromSet): Added
765         (WebCore::addToSet): Added
766         (WebCore::ShadowContentElement::attach):
767         (WebCore::ShadowContentElement::detach):
768         * dom/ShadowContentElement.h:
769         (WebCore::ShadowInclusionSet::add):
770         (WebCore::ShadowInclusionSet::remove):
771         (WebCore::ShadowInclusionSet::isEmpty):
772         (WebCore::ShadowInclusionSet::Translator::hash):
773         (WebCore::ShadowInclusionSet::Translator::equal):
774         (WebCore::ShadowInclusionSet::Hash::hash):
775         (WebCore::ShadowInclusionSet::Hash::equal):
776         (WebCore::ShadowInclusionSet::find):
777         * dom/ShadowContentSelector.cpp:
778         (WebCore::ShadowContentSelector::ShadowContentSelector):
779         (WebCore::ShadowContentSelector::selectInclusion):
780         * dom/ShadowContentSelector.h:
781         * dom/ShadowRoot.cpp:
782         (WebCore::ShadowRoot::~ShadowRoot):
783         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
784         (WebCore::ShadowRoot::inclusions): Added
785         (WebCore::ShadowRoot::ensureInclusions): Added
786         * dom/ShadowRoot.h:
787         (WebCore::toShadowRoot):
788         * testing/Internals.cpp:
789         (WebCore::Internals::includerFor):
790         * testing/Internals.h:
791         * testing/Internals.idl:
792
793 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
794
795         Raise if dispatchEvent dispatches an event that is being dispatched
796         https://bugs.webkit.org/show_bug.cgi?id=64150
797
798         Reviewed by Dimitri Glazkov.
799
800         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
801
802         Test: fast/events/dispatch-event-being-dispatched.html
803
804         * dom/Event.h:
805         (WebCore::Event::isBeingDispatched): Added.
806         * dom/EventException.h:
807         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
808         * dom/EventTarget.cpp:
809         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
810         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
811
812 2011-07-13  Kent Tamura  <tkent@chromium.org>
813
814         Implement text field placeholders using shadow DOM
815         https://bugs.webkit.org/show_bug.cgi?id=64253
816
817         Reviewed by Dimitri Glazkov.
818
819         Represents a placeholder text as a shadow element, and its
820         visibility is controlled by 'visibility' CSS property.
821
822         This patch removes all of existing code about placeholder from
823         RenderTextControl*. RenderTextControl* have only small code about
824         placeholder layout.
825
826         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
827         the placeholder style uses Element::shadowPseudoId().
828
829         This fixes the following regressions:
830         - https://bugs.webkit.org/show_bug.cgi?id=51290
831         - https://bugs.webkit.org/show_bug.cgi?id=54797
832         - https://bugs.webkit.org/show_bug.cgi?id=54814
833         - https://bugs.webkit.org/show_bug.cgi?id=63367
834
835         Test: fast/forms/textarea-placeholder-wrapping.html
836
837         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
838         (WebCore::CSSSelector::pseudoId):
839         (WebCore::nameToPseudoTypeMap):
840         (WebCore::CSSSelector::extractPseudoType):
841         * css/CSSSelector.h: ditto.
842         * css/html.css:
843         (::-webkit-input-placeholder): Added. This contains properties
844         common in <input> and <textarea>. Some properties have !important
845         so that a stylesheet specified by a page author won't break
846         WebKit's assumption.
847         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
848          Added the default style for <input> placeholders.
849         * html/HTMLInputElement.cpp:
850         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
851         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
852         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
853         * html/HTMLTextAreaElement.cpp:
854         (WebCore::HTMLTextAreaElement::createRenderer):
855         Remove the 'placeholderVisible' argument.
856         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
857         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
858          Added. This creates, deletes, or updates the placeholder element.
859         * html/HTMLTextAreaElement.h:
860         - Declare placeholderElement() and updatePlaceholderText().
861         - Add m_placeholder.
862         * html/HTMLTextFormControlElement.cpp:
863         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
864         Update the placeholder element and 'visibility' CSS property,
865         instead of delegating the job to a renderer.
866         * html/HTMLTextFormControlElement.h:
867         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
868         * html/InputType.cpp:
869         (WebCore::InputType::placeholderElement): Add an empty implementation.
870         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
871         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
872         * html/TextFieldInputType.cpp:
873         (WebCore::TextFieldInputType::createRenderer):
874         Remove the 'placeholderVisible' argument.
875         (WebCore::TextFieldInputType::placeholderElement): Added.
876         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
877         (WebCore::TextFieldInputType::updatePlaceholderText):
878          Added. This creates, deletes, or updates the placeholder element.
879         * html/TextFieldInputType.h:
880         - Declare placeholderElement() and updatePlaceholderText().
881         - Add m_placeholder.
882         * rendering/RenderTextControl.cpp:
883         (WebCore::RenderTextControl::RenderTextControl):
884         Remove the 'placeholderVisible' argument.
885         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
886         Excludes the placeholder renderer in order to avoid to secure a box for
887         the placeholder.
888         * rendering/RenderTextControl.h:
889         - Remove declarations of removed functions.
890         - Update the RenderTextControl signature.
891         - Add layoutSpecialExcludedChild().
892         * rendering/RenderTextControlMultiLine.cpp:
893         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
894         Remove the 'placeholderVisible' argument.
895         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
896         Laying out the placeholder box so that it has correct width and location.
897         * rendering/RenderTextControlMultiLine.h:
898         - Remove declarations of removed functions.
899         - Update the RenderTextControlMultiLine signature.
900         - Add layoutSpecialExcludedChild().
901         * rendering/RenderTextControlSingleLine.cpp:
902         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
903         Remove the 'placeholderVisible' argument.
904         (WebCore::RenderTextControlSingleLine::layout):
905         Laying out the placeholder box so that it has correct width and location.
906         * rendering/RenderTextControlSingleLine.h:
907         - Remove declarations of removed functions.
908         - Update the RenderTextControlSingleLine signature.
909         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
910
911 2011-07-13  James Simonsen  <simonjam@chromium.org>
912
913         Remove hack that forcefully prevents scripts from running in shadow SVG
914         https://bugs.webkit.org/show_bug.cgi?id=64419
915
916         This hack was put in to prevent scripts from running in shadow SVG. This should never have
917         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
918         r88584, so the hack is no longer needed.
919
920         No new tests since there is no change in functionality.
921
922         Reviewed by Tony Gentilcore.
923
924         * dom/ScriptElement.cpp:
925         (WebCore::ScriptElement::prepareScript):
926
927 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
928
929         [CSSRegions] Parse -webkit-content-order property
930         https://bugs.webkit.org/show_bug.cgi?id=63897
931
932         Reviewed by David Hyatt.
933
934         Test: fast/regions/webkit-content-order-parsing.html
935
936         * css/CSSComputedStyleDeclaration.cpp:
937         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
938         * css/CSSParser.cpp:
939         (WebCore::CSSParser::parseValue):
940         * css/CSSPropertyNames.in:
941         * css/CSSStyleSelector.cpp:
942         (WebCore::CSSStyleSelector::applyProperty):
943         * rendering/style/RenderStyle.cpp:
944         (WebCore::RenderStyle::diff):
945         * rendering/style/RenderStyle.h:
946         (WebCore::InheritedFlags::regionIndex):
947         (WebCore::InheritedFlags::setRegionIndex):
948         (WebCore::InheritedFlags::initialRegionIndex):
949         * rendering/style/StyleRareNonInheritedData.cpp:
950         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
951         (WebCore::StyleRareNonInheritedData::operator==):
952         * rendering/style/StyleRareNonInheritedData.h:
953
954 2011-07-13  James Robinson  <jamesr@chromium.org>
955
956         Reviewed by Kenneth Russell.
957
958         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
959         https://bugs.webkit.org/show_bug.cgi?id=58833
960
961         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
962         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
963         the drawing responsibilities for tiled layers.
964
965         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
966         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
967         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
968         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
969         way tile eviction works.
970
971         * WebCore.gypi:
972         * platform/graphics/chromium/ContentLayerChromium.cpp:
973         (WebCore::ContentLayerChromium::ContentLayerChromium):
974         (WebCore::ContentLayerChromium::paintContentsIfDirty):
975         (WebCore::ContentLayerChromium::drawsContent):
976         * platform/graphics/chromium/ContentLayerChromium.h:
977         (WebCore::ContentLayerChromium::textureUpdater):
978         * platform/graphics/chromium/ImageLayerChromium.cpp:
979         (WebCore::ImageLayerChromium::ImageLayerChromium):
980         (WebCore::ImageLayerChromium::cleanupResources):
981         (WebCore::ImageLayerChromium::paintContentsIfDirty):
982         (WebCore::ImageLayerChromium::textureUpdater):
983         (WebCore::ImageLayerChromium::contentBounds):
984         (WebCore::ImageLayerChromium::drawsContent):
985         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
986         * platform/graphics/chromium/ImageLayerChromium.h:
987         * platform/graphics/chromium/LayerChromium.cpp:
988         (WebCore::LayerChromium::pushPropertiesTo):
989         (WebCore::LayerChromium::ccLayerImpl):
990         * platform/graphics/chromium/LayerChromium.h:
991         * platform/graphics/chromium/LayerRendererChromium.cpp:
992         (WebCore::LayerRendererChromium::drawRootLayer):
993         * platform/graphics/chromium/LayerTilerChromium.cpp:
994         (WebCore::LayerTilerChromium::updateRect):
995         (WebCore::LayerTilerChromium::draw):
996         (WebCore::LayerTilerChromium::drawTiles):
997         * platform/graphics/chromium/LayerTilerChromium.h:
998         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
999         (WebCore::TiledLayerChromium::TiledLayerChromium):
1000         (WebCore::TiledLayerChromium::~TiledLayerChromium):
1001         (WebCore::TiledLayerChromium::createCCLayerImpl):
1002         (WebCore::TiledLayerChromium::cleanupResources):
1003         (WebCore::TiledLayerChromium::setLayerRenderer):
1004         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
1005         (WebCore::TiledLayerChromium::drawsContent):
1006         (WebCore::TiledLayerChromium::createTilerIfNeeded):
1007         (WebCore::TiledLayerChromium::updateCompositorResources):
1008         (WebCore::TiledLayerChromium::setTilingOption):
1009         (WebCore::TiledLayerChromium::setIsMask):
1010         (WebCore::TiledLayerChromium::tilingTransform):
1011         (WebCore::TiledLayerChromium::pushPropertiesTo):
1012         (WebCore::writeIndent):
1013         (WebCore::TiledLayerChromium::dumpLayerProperties):
1014         * platform/graphics/chromium/TiledLayerChromium.h: Added.
1015         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1016         (WebCore::CCLayerImpl::draw):
1017         * platform/graphics/chromium/cc/CCLayerImpl.h:
1018         (WebCore::CCLayerImpl::setDrawsContent):
1019         (WebCore::CCLayerImpl::drawsContent):
1020         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
1021         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
1022         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
1023         (WebCore::CCTiledLayerImpl::draw):
1024         (WebCore::CCTiledLayerImpl::bindContentsTexture):
1025         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
1026         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
1027         (WebCore::CCTiledLayerImpl::create):
1028         (WebCore::CCTiledLayerImpl::setTilingTransform):
1029         (WebCore::CCTiledLayerImpl::setTiler):
1030
1031 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
1032
1033         Remove an unused bit in RenderObject
1034         https://bugs.webkit.org/show_bug.cgi?id=64485
1035
1036         Reviewed by Darin Adler.
1037
1038         No change in behavior so no new test.
1039
1040         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
1041         However it was not used in RenderObject and RenderTableCell already packed this bit.
1042         We were lying in the number of used bits in RenderObject which was 33. This change
1043         brings us back to what was advertised.
1044
1045 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
1046
1047         Fix non-debug builds.
1048
1049         * rendering/RenderLayerBacking.cpp:
1050         (WebCore::RenderLayerBacking::createGraphicsLayer):
1051
1052 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
1053
1054         [chromium] Fix mac build after r90949.
1055
1056         * bindings/v8/V8HiddenPropertyName.cpp:
1057         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1058         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1059         (WebCore::toV8Object):
1060
1061 2011-07-13  Emil A Eklund  <eae@chromium.org>
1062
1063         Switch table rendering to to new layout types
1064         https://bugs.webkit.org/show_bug.cgi?id=64478
1065
1066         Reviewed by Eric Seidel.
1067
1068         No new tests, no new functionality.
1069
1070         * rendering/AutoTableLayout.cpp:
1071         * rendering/AutoTableLayout.h:
1072         * rendering/HitTestResult.cpp:
1073         * rendering/HitTestResult.h:
1074         * rendering/LayoutTypes.h:
1075         * rendering/RenderBlock.h:
1076         * rendering/RenderBoxModelObject.cpp:
1077         * rendering/RenderBoxModelObject.h:
1078         * rendering/RenderObject.h:
1079         * rendering/RenderTable.cpp:
1080         * rendering/RenderTable.h:
1081         * rendering/RenderTableCell.cpp:
1082         * rendering/RenderTableCell.h:
1083
1084 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
1085
1086         Factor some GraphicsLayer creation code in RenderLayerBacking
1087         https://bugs.webkit.org/show_bug.cgi?id=64487
1088
1089         Reviewed by Sam Weinig.
1090
1091         Move the GraphicsLayer::create() calls into once place so that we
1092         don't have lots of #ifndef NDEBUG in various places, and can share
1093         more code in future.
1094         
1095         No behavior change, so no new tests.
1096
1097         * rendering/RenderLayerBacking.cpp:
1098         (WebCore::RenderLayerBacking::RenderLayerBacking):
1099         (WebCore::RenderLayerBacking::~RenderLayerBacking):
1100         (WebCore::RenderLayerBacking::createGraphicsLayer):
1101         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1102         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
1103         (WebCore::RenderLayerBacking::updateLayerTransform):
1104         (WebCore::RenderLayerBacking::updateClippingLayers):
1105         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
1106         (WebCore::RenderLayerBacking::updateForegroundLayer):
1107         (WebCore::RenderLayerBacking::updateMaskLayer):
1108         * rendering/RenderLayerBacking.h:
1109
1110 2011-07-13  Xan Lopez  <xlopez@igalia.com>
1111
1112         [GTK] Fix distcheck.
1113
1114         Reviewed by Martin Robinson.
1115
1116         * GNUmakefile.list.am: add missing files.
1117
1118 2011-07-13  James Robinson  <jamesr@chromium.org>
1119
1120         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
1121         https://bugs.webkit.org/show_bug.cgi?id=64420
1122
1123         Reviewed by Tony Gentilcore.
1124
1125         Removes some redundant time related code.
1126
1127         * platform/chromium/PlatformBridge.h:
1128         * platform/chromium/SystemTimeChromium.cpp:
1129         (WebCore::userIdleTime):
1130
1131 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
1132
1133         [V8] Avoid memory leaks with hidden references.
1134         https://bugs.webkit.org/show_bug.cgi?id=64467
1135
1136         Reviewed by Adam Barth.
1137
1138         We used to have growing arrays of hidden references associated
1139         with objects. The entries in this array had no keys and were never
1140         removed. This patch changes the interface to require a reference
1141         name. This way it's harder to leak an unbounded number of
1142         objects. Also it makes our wrapper objects one machine word
1143         smaller.
1144
1145         * bindings/scripts/CodeGeneratorV8.pm:
1146         (GenerateNormalAttrGetter): Started using new interface.
1147
1148         Interface changes:
1149         * bindings/v8/V8DOMWrapper.cpp:
1150         (WebCore::V8DOMWrapper::setNamedHiddenReference):
1151         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
1152         * bindings/v8/V8DOMWrapper.h:
1153
1154         Added a helper to compute hidden reference names as V8 strings:
1155         * bindings/v8/V8HiddenPropertyName.cpp:
1156         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
1157         * bindings/v8/V8HiddenPropertyName.h:
1158
1159         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
1160         array internal field.
1161
1162         Update usages of hidden references:
1163         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1164         (WebCore::toV8):
1165         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1166         (WebCore::toV8):
1167         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1168         (WebCore::toV8):
1169         * bindings/v8/custom/V8LocationCustom.cpp:
1170         (WebCore::toV8):
1171         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1172         (WebCore::V8MessageChannel::constructorCallback):
1173         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1174         (WebCore::toV8):
1175         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1176         (WebCore::toV8):
1177         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1178         (WebCore::toV8Object):
1179
1180         * bindings/scripts/test/V8/V8TestObj.cpp:
1181         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
1182
1183 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
1184
1185         Improve names of some ApplicationCacheStorage accessor methods
1186         https://bugs.webkit.org/show_bug.cgi?id=64433
1187
1188         Reviewed by Alexey Proskuryakov.
1189
1190         Some methods returned a bool for success/failure and
1191         actually returned a value as an out parameter so their
1192         name was confusing. Rename these methods to make them
1193         more clear.
1194
1195         (WebCore::ApplicationCache::diskUsageForOrigin):
1196         * loader/appcache/ApplicationCacheGroup.cpp:
1197         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
1198         * loader/appcache/ApplicationCacheStorage.cpp:
1199         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
1200         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
1201         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
1202         (WebCore::ApplicationCacheStorage::checkOriginQuota):
1203         * loader/appcache/ApplicationCacheStorage.h:
1204         * loader/appcache/ApplicationCache.cpp:
1205         Rename the methods.
1206
1207         * WebCore.exp.in:
1208         Replaced old versions. Also, calculateRemaining wasn't needed
1209         outside WebCore, so no longer export it.
1210
1211 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
1212
1213         Some ApplicationCache Origin Cleanup
1214         https://bugs.webkit.org/show_bug.cgi?id=64431
1215
1216         Reviewed by Alexey Proskuryakov.
1217
1218         - m_loadedSize is inaccurate. This just replaces it with
1219         calls to ApplicationCache::estimatedSizeInStorage.
1220
1221         - m_availableSpaceInQuota can get out of date, so we just
1222         recalculate it at the start of appcache downloads.
1223
1224         * loader/appcache/ApplicationCacheGroup.h:
1225         * loader/appcache/ApplicationCacheGroup.cpp:
1226         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1227         (WebCore::ApplicationCacheGroup::didReceiveData):
1228         Remove references to m_loadedSize.
1229
1230         (WebCore::ApplicationCacheGroup::didFinishLoading):
1231         Replace m_loadedSize with estimatedSizeInStorage after we
1232         add the new cached resource to the cache. The calculation
1233         already happened so this check is fast.
1234
1235         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1236         When we start the Downloading phase, recalculate the quota
1237         so that we have an up to date quota value so that we can
1238         break early if needed.
1239
1240 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
1241
1242         Standardize WinCairo conditionalized code under PLATFORM macro.
1243         https://bugs.webkit.org/show_bug.cgi?id=64377
1244
1245         Reviewed by Maciej Stachowiak.
1246
1247         Update compile-time conditions that had previously used #ifdef
1248         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
1249
1250         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
1251           of WIN_CAIRO.
1252         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
1253           the existing WinCairo.vsprops file.
1254         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
1255         * config.h: Update to use PLATFORM(WIN_CAIRO).
1256
1257 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1258
1259         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
1260         https://bugs.webkit.org/show_bug.cgi?id=64464
1261
1262         Reviewed by Tony Chang.
1263
1264         No new tests needed.
1265
1266         * css/CSSParser.cpp:
1267         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
1268         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
1269         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
1270         * css/CSSPrimitiveValue.cpp:
1271         * css/CSSWrapShapes.h:
1272         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
1273         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
1274         * rendering/style/RenderStyle.cpp:
1275         * rendering/style/StyleRareNonInheritedData.h:
1276
1277 2011-07-13  Abhishek Arya  <inferno@chromium.org>
1278
1279         Reviewed by Adam Barth.
1280
1281         Issue with Frame lifetime due to deletion in beforeload event.
1282         https://bugs.webkit.org/show_bug.cgi?id=64457
1283
1284         Copy the Frame protector higher in the stack from loadWithDocumentLoader
1285         to loadFrameRequest since any of loadPostRequest or loadURL can call
1286         loadWithDocumentLoader, thereby dispatching the beforeload event and
1287         blowing away the frame. This deleted frame will be later accessed in
1288         the loadFrameRequest function causing a crash.       
1289  
1290         Test: fast/events/form-iframe-target-before-load-crash2.html
1291
1292         * loader/FrameLoader.cpp:
1293         (WebCore::FrameLoader::loadFrameRequest):
1294         (WebCore::FrameLoader::loadWithDocumentLoader):
1295
1296 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
1297
1298         [CSSRegions]content:-webkit-from-flow not applied correctly
1299         https://bugs.webkit.org/show_bug.cgi?id=64438
1300
1301         Reviewed by Tony Chang.
1302
1303         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
1304
1305         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
1306
1307         * css/CSSPrimitiveValue.cpp:
1308         (WebCore::CSSPrimitiveValue::getStringValue):
1309
1310 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1311
1312         Don't reuse the last InsertTextCommand
1313         https://bugs.webkit.org/show_bug.cgi?id=64416
1314
1315         Reviewed by Justin Garcia.
1316
1317         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
1318         its constructor and executes the command in doApply like other edit commands.
1319
1320         * editing/CompositeEditCommand.cpp:
1321         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
1322         * editing/CompositeEditCommand.h:
1323         * editing/InsertTextCommand.cpp:
1324         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
1325         (WebCore::InsertTextCommand::doApply): Renamed from input.
1326         * editing/InsertTextCommand.h:
1327         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
1328         * editing/TypingCommand.cpp:
1329         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
1330
1331 2011-07-12  Dmitry Lomov  <dslomov@google.com>
1332
1333         https://bugs.webkit.org/show_bug.cgi?id=63041
1334         [Chromium][V8] Make DOMDataStore per-isolate
1335         This patch:
1336          - makes DOMData class an utility class with static members only
1337          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
1338         Dromaeo benchmarks are not affected.
1339
1340         Reviewed by Adam Barth.
1341
1342         * bindings/v8/DOMData.cpp:
1343         (WebCore::getDefaultStore):
1344         (WebCore::DOMData::getCurrentStore):
1345         * bindings/v8/DOMData.h:
1346         * bindings/v8/DOMDataStore.cpp:
1347         (WebCore::DOMDataStore::DOMDataStore):
1348         (WebCore::DOMDataStore::allStores):
1349         * bindings/v8/DOMDataStore.h:
1350         * bindings/v8/ScopedDOMDataStore.cpp:
1351         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1352         * bindings/v8/ScopedDOMDataStore.h:
1353         * bindings/v8/StaticDOMDataStore.cpp:
1354         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1355         * bindings/v8/StaticDOMDataStore.h:
1356         * bindings/v8/V8Binding.h:
1357         (WebCore::V8BindingPerIsolateData::allStores):
1358         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
1359         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
1360         * bindings/v8/V8Binding.cpp:
1361         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1362         * bindings/v8/V8DOMMap.cpp:
1363         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
1364         (WebCore::getDOMDataStore):
1365         (WebCore::enableFasterDOMStoreAccess):
1366
1367 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1368
1369         Rename compositing-related updateContentsScale() methods
1370         https://bugs.webkit.org/show_bug.cgi?id=64430
1371
1372         Reviewed by Joseph Pecoraro.
1373
1374         Rename updateContentsScale() to something less presumptuous; layers may choose
1375         to do something other than update their contents scale when the page scale factor
1376         changes. pageScaleFactorChanged() is a better name.
1377
1378         * page/Frame.cpp:
1379         (WebCore::Frame::pageScaleFactorChanged):
1380         (WebCore::Frame::scalePage):
1381         * page/Frame.h:
1382         * rendering/RenderLayer.cpp:
1383         (WebCore::RenderLayer::pageScaleFactorChanged):
1384         * rendering/RenderLayer.h:
1385         * rendering/RenderLayerBacking.cpp:
1386         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
1387         * rendering/RenderLayerBacking.h:
1388         * rendering/RenderLayerCompositor.cpp:
1389         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
1390         * rendering/RenderLayerCompositor.h:
1391
1392 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
1393
1394         Fix compile for QRawFont.
1395
1396         https://bugs.webkit.org/show_bug.cgi?id=64453
1397
1398         Reviewed by Andreas Kling.
1399
1400         * platform/graphics/GraphicsContext.h:
1401         * platform/graphics/qt/FontQt.cpp:
1402         (WebCore::Font::drawGlyphs):
1403
1404 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
1405
1406         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
1407         https://bugs.webkit.org/show_bug.cgi?id=64363
1408
1409         Reviewed by Tony Gentilcore.
1410
1411         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
1412
1413         * page/Geolocation.cpp:
1414         (WebCore::Geolocation::setIsAllowed):
1415         * page/Geolocation.h:
1416
1417 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
1418
1419         Web Inspector: Network panel search needs each resource to have unique identifier.
1420         https://bugs.webkit.org/show_bug.cgi?id=64287
1421
1422         Reviewed by Pavel Feldman.
1423
1424         * inspector/front-end/NetworkManager.js:
1425         (WebInspector.NetworkManager.prototype.requestContent):
1426         (WebInspector.NetworkDispatcher):
1427         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1428         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1429         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1430         * inspector/front-end/NetworkPanel.js:
1431         (WebInspector.NetworkPanel.prototype._appendResource):
1432         (WebInspector.NetworkPanel.prototype._frameNavigated):
1433         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
1434
1435 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1436
1437         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
1438         https://bugs.webkit.org/show_bug.cgi?id=63987
1439
1440         Reviewed by Hajime Morita.
1441
1442         Change doesn't add new functionality. No test needed.
1443
1444         * rendering/RenderBox.cpp:
1445         (WebCore::RenderBox::maskClipRect):
1446         (WebCore::RenderBox::repaintLayerRectsForImage):
1447         * rendering/RenderBoxModelObject.cpp:
1448         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1449         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
1450         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
1451         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
1452         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
1453         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
1454         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1455         * rendering/RenderBoxModelObject.h:
1456         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
1457         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
1458         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
1459         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
1460         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
1461         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
1462         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
1463         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
1464         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
1465         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
1466
1467 2011-07-13  MORITA Hajime  <morrita@google.com>
1468
1469         Refactoring: Ignored ExceptionCode value should be less annoying.
1470         https://bugs.webkit.org/show_bug.cgi?id=63688
1471
1472         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
1473         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
1474         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
1475
1476         No new tests. No behaviour change.
1477
1478         Reviewed by Darin Adler.
1479
1480         * GNUmakefile.list.am:
1481         * WebCore.gypi:
1482         * WebCore.xcodeproj/project.pbxproj:
1483         * dom/ExceptionCodePlaceholder.h: Added.
1484         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
1485         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
1486         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
1487         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
1488         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
1489         * dom/Range.cpp:
1490         (WebCore::Range::Range):
1491         (WebCore::Range::editingStartPosition):
1492         * dom/Range.h:        
1493
1494 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1495
1496         Regression: OOB read in svg text run
1497         https://bugs.webkit.org/show_bug.cgi?id=63627
1498
1499         Not reviewed.
1500
1501         Fixed last minute typo leading to assertions.
1502
1503         * rendering/InlineTextBox.cpp:
1504         (WebCore::InlineTextBox::paintSelection):
1505
1506 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
1507
1508         Web Inspector: factor NetworkLogView out of Network panel
1509         https://bugs.webkit.org/show_bug.cgi?id=64366
1510
1511         Reviewed by Pavel Feldman.
1512
1513         * inspector/front-end/NetworkPanel.js:
1514         (WebInspector.NetworkLogView):
1515         (WebInspector.NetworkLogView.prototype.get useLargeRows):
1516         (WebInspector.NetworkLogView.prototype.set allowPopover):
1517         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
1518         (WebInspector.NetworkLogView.prototype.resize):
1519         (WebInspector.NetworkLogView.prototype._createTable):
1520         (WebInspector.NetworkLogView.prototype.show):
1521         (WebInspector.NetworkLogView.prototype.hide):
1522         (WebInspector.NetworkLogView.prototype._reset):
1523         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1524         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1525         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
1526         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
1527         (WebInspector.NetworkPanel):
1528         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
1529         (WebInspector.NetworkPanel.prototype.get statusBarItems):
1530         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
1531         (WebInspector.NetworkPanel.prototype.resize):
1532         (WebInspector.NetworkPanel.prototype._reset):
1533         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
1534         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
1535         (WebInspector.NetworkPanel.prototype.handleShortcut):
1536         (WebInspector.NetworkPanel.prototype.show):
1537         (WebInspector.NetworkPanel.prototype.hide):
1538         (WebInspector.NetworkPanel.prototype.get resources):
1539         (WebInspector.NetworkPanel.prototype.resourceById):
1540         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1541         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1542         (WebInspector.NetworkPanel.prototype._onViewCleared):
1543         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
1544         (WebInspector.NetworkPanel.prototype._onResourceSelected):
1545         (WebInspector.NetworkPanel.prototype._showResource):
1546         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1547         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1548         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1549         (WebInspector.NetworkPanel.prototype.performSearch):
1550         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
1551         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
1552         (WebInspector.NetworkPanel.prototype.searchCanceled):
1553         (WebInspector.NetworkDataGridNode):
1554         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
1555         (WebInspector.NetworkDataGridNode.prototype.select):
1556         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1557
1558 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1559
1560         Unreviewed, rolling out r90634.
1561         http://trac.webkit.org/changeset/90634
1562         https://bugs.webkit.org/show_bug.cgi?id=64448
1563
1564         Qt HTTP Pipelining is not robust enough to be used in that
1565         generic way. (Requested by benjaminp on #webkit).
1566
1567         * platform/network/qt/ResourceRequestQt.cpp:
1568         (WebCore::ResourceRequest::toNetworkRequest):
1569
1570 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1571
1572         Regression: OOB read in svg text run
1573         https://bugs.webkit.org/show_bug.cgi?id=63627
1574
1575         Reviewed by Zoltan Herczeg.
1576
1577         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
1578         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
1579         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
1580         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
1581         define a single glyph for the characters 'ffl' thus leading to a single character long text
1582         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
1583
1584         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
1585         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
1586         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
1587         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
1588         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
1589
1590         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
1591         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
1592         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
1593
1594         * rendering/InlineTextBox.cpp:
1595         (WebCore::InlineTextBox::paint):
1596         (WebCore::InlineTextBox::paintSelection):
1597         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
1598         * rendering/InlineTextBox.h: Ditto.
1599
1600 2011-07-12  Antti Koivisto  <antti@apple.com>
1601
1602         didFirstVisuallyNonEmptyLayout dispatched too early
1603         https://bugs.webkit.org/show_bug.cgi?id=64412
1604
1605         Reviewed by Darin Adler and Sam Weinig.
1606
1607         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
1608
1609         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
1610         - Wait until stylesheets are loaded (painting is disabled in this case).
1611
1612         * page/FrameView.cpp:
1613         (WebCore::FrameView::reset):
1614         (WebCore::FrameView::performPostLayoutTasks):
1615         * page/FrameView.h:
1616         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
1617         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
1618         * rendering/RenderImage.cpp:
1619         (WebCore::RenderImage::RenderImage):
1620         (WebCore::RenderImage::imageChanged):
1621         * rendering/RenderImage.h:
1622         * rendering/RenderText.cpp:
1623         (WebCore::RenderText::RenderText):
1624
1625 2011-07-12  MORITA Hajime  <morrita@google.com>
1626
1627         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
1628         https://bugs.webkit.org/show_bug.cgi?id=64252
1629
1630         Reviewed by Dimitri Glazkov.
1631
1632         Introduced ShadowInclusionList and ShadowInclusion for maintaining
1633         forwarded content children. ShadowInclusion is doubly-linked list.
1634         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
1635         
1636         This change is a prepration for bug 64251, which will introduce
1637         forwarded-children to content-element table.
1638         
1639         No new tests. No behavioral change.
1640
1641         * dom/NodeRenderingContext.cpp:
1642         (WebCore::nextRendererOf):
1643         (WebCore::previousRendererOf):
1644         (WebCore::firstRendererOf):
1645         (WebCore::lastRendererOf):
1646         * dom/ShadowContentElement.cpp:
1647         (WebCore::ShadowInclusion::append):
1648         (WebCore::ShadowInclusion::unlink):
1649         (WebCore::ShadowInclusionList::ShadowInclusionList):
1650         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1651         (WebCore::ShadowInclusionList::find):
1652         (WebCore::ShadowInclusionList::clear):
1653         (WebCore::ShadowInclusionList::append):
1654         (WebCore::ShadowContentElement::attach):
1655         * dom/ShadowContentElement.h:
1656         (WebCore::ShadowInclusion::includer):
1657         (WebCore::ShadowInclusion::content):
1658         (WebCore::ShadowInclusion::next):
1659         (WebCore::ShadowInclusion::previous):
1660         (WebCore::ShadowInclusion::ShadowInclusion):
1661         (WebCore::ShadowInclusion::create):
1662         (WebCore::ShadowInclusionList::first):
1663         (WebCore::ShadowInclusionList::last):
1664         (WebCore::ShadowInclusionList::isEmpty):
1665         (WebCore::ShadowInclusionList::append):
1666         (WebCore::ShadowContentElement::inclusions):
1667         * dom/ShadowContentSelector.cpp:
1668         (WebCore::ShadowContentSelector::selectInclusion):
1669         * dom/ShadowContentSelector.h:
1670
1671 2011-07-12  David Reveman  <reveman@chromium.org>
1672
1673         [Chromium] Use nearest filter method with pixel aligned transforms.
1674         https://bugs.webkit.org/show_bug.cgi?id=64338
1675
1676         Reviewed by James Robinson.
1677
1678         Check for integer translation and use nearest texture filter when
1679         possible to avoid filter precisions problems at the layer edges.
1680
1681         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
1682
1683         * platform/graphics/chromium/LayerTilerChromium.cpp:
1684         (WebCore::LayerTilerChromium::drawTiles):
1685         * platform/graphics/transforms/TransformationMatrix.cpp:
1686         (WebCore::TransformationMatrix::isIntegerTranslation):
1687         * platform/graphics/transforms/TransformationMatrix.h:
1688
1689 2011-07-12  David Reveman  <reveman@chromium.org>
1690
1691         Removed unnecessary function parameters from TilingData::textureOffset.
1692         https://bugs.webkit.org/show_bug.cgi?id=64245
1693
1694         Reviewed by Brent Fulgham.
1695
1696         No new tests, no functionality changes.
1697
1698         * platform/graphics/chromium/LayerTilerChromium.cpp:
1699         (WebCore::LayerTilerChromium::drawTiles):
1700         * platform/graphics/gpu/TilingData.cpp:
1701         (WebCore::TilingData::textureOffset):
1702         * platform/graphics/gpu/TilingData.h:
1703
1704 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1705
1706         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
1707         https://bugs.webkit.org/show_bug.cgi?id=64403
1708
1709         Reviewed by Hajime Morita.
1710
1711         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
1712
1713         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
1714         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
1715         whether the given position is inside the current text form control or not.
1716
1717         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
1718         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
1719         and offsetInContainer.
1720
1721         * accessibility/AccessibilityRenderObject.cpp:
1722         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
1723         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
1724         * editing/htmlediting.h: Removed enclosingTextFromControl.
1725         * html/HTMLTextFormControlElement.cpp:
1726         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
1727         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
1728         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
1729         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
1730         * html/HTMLTextFormControlElement.h:
1731         * rendering/RenderTextControl.cpp:
1732         * rendering/RenderTextControl.h:
1733
1734 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
1735
1736         Make RenderObject::containingBlock virtual for better speed and clarity
1737         https://bugs.webkit.org/show_bug.cgi?id=64318
1738
1739         Reviewed by Darin Adler.
1740
1741         No new tests, performance refactoring.
1742
1743         On some of my test cases, this method takes between 3 and 5% of the time spend.
1744         The method makes 2 calls to virtual methods which could be moved to their overriden
1745         version of containingBlock if we made it virtual.
1746
1747         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
1748         as well as made the current method shorter.
1749
1750         * rendering/RenderObject.cpp:
1751         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
1752         replaced by ASSERTs.
1753
1754         * rendering/RenderObject.h: Made containingBlock virtual.
1755
1756         * rendering/RenderTableCell.h:
1757         (WebCore::RenderTableCell::containingBlock):
1758         * rendering/RenderView.h:
1759         (WebCore::RenderView::containingBlock):
1760         The code moved from RenderObject is inlined in those 2 methods.
1761
1762 2011-07-12  James Robinson  <jamesr@chromium.org>
1763
1764         [chromium] Chromium win build fix.
1765
1766         * platform/graphics/chromium/FontChromiumWin.cpp:
1767         (WebCore::drawGlyphsWin):
1768
1769 2011-07-12  Pratik Solanki  <psolanki@apple.com>
1770
1771         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1772         https://bugs.webkit.org/show_bug.cgi?id=63674
1773
1774         Reviewed by David Kilzer.
1775
1776         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
1777
1778         No new tests because no change in functionality and option is not enabled on Mac.
1779
1780         * platform/network/ResourceHandle.h:
1781         * platform/network/ResourceHandleInternal.h:
1782         * platform/network/cf/ResourceHandleCFNet.cpp:
1783         (WebCore::didReceiveResponse):
1784         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1785         (WebCore::ResourceHandle::start):
1786         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
1787         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
1788         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
1789
1790 2011-07-12  James Robinson  <jamesr@chromium.org>
1791
1792         [chromium] Delete the unused legacy accelerated canvas 2d code
1793         https://bugs.webkit.org/show_bug.cgi?id=64214
1794
1795         Reviewed by Stephen White.
1796
1797         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
1798         this codepath and it seems clear that no other port is interested.
1799
1800         Refactoring and removing unused code, so no new tests.
1801
1802         * WebCore.gypi:
1803         * WebCore.xcodeproj/project.pbxproj:
1804         * html/canvas/CanvasRenderingContext2D.cpp:
1805         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1806         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1807         (WebCore::CanvasRenderingContext2D::didDraw):
1808         * html/canvas/CanvasRenderingContext2D.h:
1809         * loader/EmptyClients.h:
1810         * page/ChromeClient.h:
1811         * page/Page.cpp:
1812         (WebCore::Page::sharedGraphicsContext3D):
1813         * page/Page.h:
1814         * platform/graphics/GraphicsContext.cpp:
1815         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1816         (WebCore::GraphicsContext::syncSoftwareCanvas):
1817         * platform/graphics/GraphicsContext.h:
1818         * platform/graphics/GraphicsContext3D.h:
1819         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1820         (WebCore::DrawingBuffer::setGrContext):
1821         * platform/graphics/chromium/FontLinux.cpp:
1822         (WebCore::Font::drawGlyphs):
1823         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1824         (WebCore::pointInTriangle):
1825         * platform/graphics/gpu/BicubicShader.cpp: Removed.
1826         * platform/graphics/gpu/BicubicShader.h: Removed.
1827         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
1828         * platform/graphics/gpu/ConvolutionShader.h: Removed.
1829         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
1830         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
1831         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
1832         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
1833         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
1834         * platform/graphics/gpu/SolidFillShader.h: Removed.
1835         * platform/graphics/gpu/TexShader.cpp: Removed.
1836         * platform/graphics/gpu/TexShader.h: Removed.
1837         * platform/graphics/skia/GraphicsContextSkia.cpp:
1838         (WebCore::GraphicsContext::savePlatformState):
1839         (WebCore::GraphicsContext::restorePlatformState):
1840         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1841         (WebCore::GraphicsContext::clearRect):
1842         (WebCore::GraphicsContext::clip):
1843         (WebCore::GraphicsContext::canvasClip):
1844         (WebCore::GraphicsContext::clipOut):
1845         (WebCore::GraphicsContext::clipPath):
1846         (WebCore::GraphicsContext::concatCTM):
1847         (WebCore::GraphicsContext::setCTM):
1848         (WebCore::GraphicsContext::drawConvexPolygon):
1849         (WebCore::GraphicsContext::drawEllipse):
1850         (WebCore::GraphicsContext::drawFocusRing):
1851         (WebCore::GraphicsContext::drawLine):
1852         (WebCore::GraphicsContext::drawLineForTextChecking):
1853         (WebCore::GraphicsContext::drawLineForText):
1854         (WebCore::GraphicsContext::drawRect):
1855         (WebCore::GraphicsContext::fillPath):
1856         (WebCore::GraphicsContext::fillRect):
1857         (WebCore::GraphicsContext::fillRoundedRect):
1858         (WebCore::GraphicsContext::scale):
1859         (WebCore::GraphicsContext::setAlpha):
1860         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1861         (WebCore::GraphicsContext::setPlatformFillColor):
1862         (WebCore::GraphicsContext::setPlatformShadow):
1863         (WebCore::GraphicsContext::strokeArc):
1864         (WebCore::GraphicsContext::strokePath):
1865         (WebCore::GraphicsContext::strokeRect):
1866         (WebCore::GraphicsContext::rotate):
1867         (WebCore::GraphicsContext::translate):
1868         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1869         (WebCore::GraphicsContext::syncSoftwareCanvas):
1870         * platform/graphics/skia/ImageBufferSkia.cpp:
1871         (WebCore::ImageBuffer::copyImage):
1872         (WebCore::ImageBuffer::draw):
1873         (WebCore::ImageBuffer::getUnmultipliedImageData):
1874         (WebCore::ImageBuffer::getPremultipliedImageData):
1875         (WebCore::ImageBuffer::putUnmultipliedImageData):
1876         (WebCore::ImageBuffer::putPremultipliedImageData):
1877         * platform/graphics/skia/ImageSkia.cpp:
1878         (WebCore::BitmapImage::draw):
1879         (WebCore::BitmapImageSingleFrameSkia::draw):
1880         * platform/graphics/skia/NativeImageSkia.cpp:
1881         (WebCore::NativeImageSkia::~NativeImageSkia):
1882         * platform/graphics/skia/PlatformContextSkia.cpp:
1883         (WebCore::PlatformContextSkia::PlatformContextSkia):
1884         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1885         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1886         (WebCore::PlatformContextSkia::makeGrContextCurrent):
1887         * platform/graphics/skia/PlatformContextSkia.h:
1888
1889 2011-07-12  Emil A Eklund  <eae@chromium.org>
1890
1891         Switch InlineFlowBox to to new layout types
1892         https://bugs.webkit.org/show_bug.cgi?id=64399
1893
1894         Reviewed by Eric Seidel.
1895
1896         First step in moving floats over to the new layout abstraction.
1897
1898         No new tests, no new functionality.
1899
1900         * rendering/InlineBox.cpp:
1901         (WebCore::InlineBox::logicalHeight):
1902         * rendering/InlineBox.h:
1903         (WebCore::InlineBox::logicalTop):
1904         (WebCore::InlineBox::logicalBottom):
1905         (WebCore::InlineBox::setLogicalTop):
1906         * rendering/InlineFlowBox.cpp:
1907         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1908         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1909         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1910         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1911         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1912         (WebCore::InlineFlowBox::addReplacedChildOverflow):
1913         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
1914         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1915         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1916         * rendering/InlineFlowBox.h:
1917         * rendering/RenderBlock.cpp:
1918         (WebCore::RenderBlock::logicalRightSelectionGap):
1919         * rendering/RenderBlock.h:
1920         * rendering/RootInlineBox.cpp:
1921         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1922         (WebCore::RootInlineBox::lineSelectionGap):
1923         (WebCore::RootInlineBox::ascentAndDescentForBox):
1924         (WebCore::RootInlineBox::verticalPositionForBox):
1925         * rendering/RootInlineBox.h:
1926         * rendering/style/RenderStyle.cpp:
1927         (WebCore::RenderStyle::getShadowExtent):
1928         (WebCore::RenderStyle::getShadowHorizontalExtent):
1929         (WebCore::RenderStyle::getShadowVerticalExtent):
1930         * rendering/style/RenderStyle.h:
1931         (WebCore::InheritedFlags::getTextShadowExtent):
1932         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
1933         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
1934         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
1935         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
1936         (WebCore::InheritedFlags::getBoxShadowExtent):
1937         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
1938         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
1939         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
1940         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
1941         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
1942         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
1943         * rendering/style/ShadowData.cpp:
1944         (WebCore::calculateShadowExtent):
1945         (WebCore::ShadowData::adjustRectForShadow):
1946         * rendering/style/ShadowData.h:
1947         (WebCore::ShadowData::ShadowData):
1948         (WebCore::ShadowData::x):
1949         (WebCore::ShadowData::y):
1950
1951 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
1952
1953         [Chromium] SVG text is not rendered sometimes with geometricPrecision
1954         https://bugs.webkit.org/show_bug.cgi?id=64341
1955
1956         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
1957
1958         Reviewed by Tony Chang.
1959
1960         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
1961
1962         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
1963         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
1964         (WebCore::ComplexTextController::reset): Ditto.
1965         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1966
1967 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
1968
1969         Reviewed by David Hyatt.
1970
1971         [CSS Exclusions] Parse wrap-shape property
1972         https://bugs.webkit.org/show_bug.cgi?id=61726
1973
1974         Parsing wrap-shape: rect, circle, ellipse and polygon.
1975         Moved WindRule from Path.h to it's own file.
1976
1977         Test: fast/exclusions/parsing-wrap-shape.html
1978
1979         * WebCore.vcproj/WebCore.vcproj:
1980         * WebCore.xcodeproj/project.pbxproj:
1981         * css/CSSComputedStyleDeclaration.cpp:
1982         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1983         * css/CSSParser.cpp:
1984         (WebCore::CSSParser::parseValue):
1985         (WebCore::CSSParser::parseWrapShapeRect):
1986         (WebCore::CSSParser::parseWrapShapeCircle):
1987         (WebCore::CSSParser::parseWrapShapeEllipse):
1988         (WebCore::CSSParser::parseWrapShapePolygon):
1989         (WebCore::CSSParser::parseWrapShape):
1990         * css/CSSParser.h:
1991         * css/CSSPrimitiveValue.cpp:
1992         (WebCore::CSSPrimitiveValue::init):
1993         (WebCore::CSSPrimitiveValue::cleanup):
1994         (WebCore::CSSPrimitiveValue::cssText):
1995         * css/CSSPrimitiveValue.h:
1996         (WebCore::CSSPrimitiveValue::getShapeValue):
1997         * css/CSSPropertyNames.in:
1998         * css/CSSStyleSelector.cpp:
1999         (WebCore::CSSStyleSelector::applyProperty):
2000         * css/CSSValueKeywords.in:
2001         * css/CSSWrapShapes.cpp: Added.
2002         (WebCore::CSSWrapShapeRect::cssText):
2003         (WebCore::CSSWrapShapeCircle::cssText):
2004         (WebCore::CSSWrapShapeEllipse::cssText):
2005         (WebCore::CSSWrapShapePolygon::cssText):
2006         * css/CSSWrapShapes.h: Added.
2007         (WebCore::CSSWrapShape::~CSSWrapShape):
2008         (WebCore::CSSWrapShape::CSSWrapShape):
2009         (WebCore::CSSWrapShapeRect::create):
2010         (WebCore::CSSWrapShapeRect::left):
2011         (WebCore::CSSWrapShapeRect::top):
2012         (WebCore::CSSWrapShapeRect::width):
2013         (WebCore::CSSWrapShapeRect::height):
2014         (WebCore::CSSWrapShapeRect::radiusX):
2015         (WebCore::CSSWrapShapeRect::radiusY):
2016         (WebCore::CSSWrapShapeRect::setLeft):
2017         (WebCore::CSSWrapShapeRect::setTop):
2018         (WebCore::CSSWrapShapeRect::setWidth):
2019         (WebCore::CSSWrapShapeRect::setHeight):
2020         (WebCore::CSSWrapShapeRect::setRadiusX):
2021         (WebCore::CSSWrapShapeRect::setRadiusY):
2022         (WebCore::CSSWrapShapeRect::type):
2023         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
2024         (WebCore::CSSWrapShapeCircle::create):
2025         (WebCore::CSSWrapShapeCircle::left):
2026         (WebCore::CSSWrapShapeCircle::top):
2027         (WebCore::CSSWrapShapeCircle::radius):
2028         (WebCore::CSSWrapShapeCircle::setLeft):
2029         (WebCore::CSSWrapShapeCircle::setTop):
2030         (WebCore::CSSWrapShapeCircle::setRadius):
2031         (WebCore::CSSWrapShapeCircle::type):
2032         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
2033         (WebCore::CSSWrapShapeEllipse::create):
2034         (WebCore::CSSWrapShapeEllipse::left):
2035         (WebCore::CSSWrapShapeEllipse::top):
2036         (WebCore::CSSWrapShapeEllipse::radiusX):
2037         (WebCore::CSSWrapShapeEllipse::radiusY):
2038         (WebCore::CSSWrapShapeEllipse::setLeft):
2039         (WebCore::CSSWrapShapeEllipse::setTop):
2040         (WebCore::CSSWrapShapeEllipse::setRadiusX):
2041         (WebCore::CSSWrapShapeEllipse::setRadiusY):
2042         (WebCore::CSSWrapShapeEllipse::type):
2043         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
2044         (WebCore::CSSWrapShapePolygon::create):
2045         (WebCore::CSSWrapShapePolygon::appendPoint):
2046         (WebCore::CSSWrapShapePolygon::getXAt):
2047         (WebCore::CSSWrapShapePolygon::getYAt):
2048         (WebCore::CSSWrapShapePolygon::setWindRule):
2049         (WebCore::CSSWrapShapePolygon::windRule):
2050         (WebCore::CSSWrapShapePolygon::type):
2051         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
2052         * css/SVGCSSValueKeywords.in:
2053         * platform/graphics/Path.h:
2054         * platform/graphics/WindRule.h: Added.
2055         * rendering/style/RenderStyle.cpp:
2056         (WebCore::RenderStyle::diff):
2057         * rendering/style/RenderStyle.h:
2058         (WebCore::InheritedFlags::setWrapShape):
2059         (WebCore::InheritedFlags::wrapShape):
2060         (WebCore::InheritedFlags::initialWrapShape):
2061         * rendering/style/StyleRareNonInheritedData.cpp:
2062         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2063         (WebCore::StyleRareNonInheritedData::operator==):
2064         * rendering/style/StyleRareNonInheritedData.h:
2065
2066 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
2067
2068         Clean up some RenderLayerCompositor code relating to scroll and root layers
2069         https://bugs.webkit.org/show_bug.cgi?id=64400
2070
2071         Reviewed by James Robinson.
2072
2073         There was no need for FrameView::syncCompositingStateForThisFrame()
2074         to call syncCompositingStateForThisLayerOnly() on the various
2075         scrollbar-related layers, because the subsequent call to 
2076         compositor()->flushPendingLayerChanges() starts to flush at
2077         m_overflowControlsHostLayer if one exists, and it's an ancestor
2078         of the scrollbar layers.
2079         
2080         Also clean up terminology in RenderLayerCompositor.
2081             m_rootPlatformLayer -> m_rootContentLayer
2082             rootPlatformLayer() -> rootGraphicsLayer()
2083         
2084         No behavior change, so no new tests.
2085         
2086         * page/FrameView.cpp:
2087         (WebCore::FrameView::syncCompositingStateForThisFrame):
2088         * rendering/RenderLayerCompositor.cpp:
2089         (WebCore::RenderLayerCompositor::enableCompositingMode):
2090         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
2091         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2092         (WebCore::RenderLayerCompositor::layerTreeAsText):
2093         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
2094         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
2095         (WebCore::RenderLayerCompositor::didMoveOnscreen):
2096         (WebCore::RenderLayerCompositor::willMoveOffscreen):
2097         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2098         (WebCore::RenderLayerCompositor::ensureRootLayer):
2099         (WebCore::RenderLayerCompositor::destroyRootLayer):
2100         (WebCore::RenderLayerCompositor::attachRootLayer):
2101         (WebCore::RenderLayerCompositor::detachRootLayer):
2102         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
2103         * rendering/RenderLayerCompositor.h:
2104
2105 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2106
2107         Unreviewed, rolling out r90842.
2108         http://trac.webkit.org/changeset/90842
2109         https://bugs.webkit.org/show_bug.cgi?id=64401
2110
2111         Causes crash in debug on compositing/overflow/content-gains-
2112         scrollbars.html (Requested by jamesr on #webkit).
2113
2114         * WebCore.gypi:
2115         * platform/graphics/chromium/ContentLayerChromium.cpp:
2116         (WebCore::ContentLayerChromium::ContentLayerChromium):
2117         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2118         (WebCore::ContentLayerChromium::cleanupResources):
2119         (WebCore::ContentLayerChromium::setLayerRenderer):
2120         (WebCore::ContentLayerChromium::tilingTransform):
2121         (WebCore::ContentLayerChromium::contentBounds):
2122         (WebCore::ContentLayerChromium::updateLayerSize):
2123         (WebCore::ContentLayerChromium::draw):
2124         (WebCore::ContentLayerChromium::drawsContent):
2125         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2126         (WebCore::ContentLayerChromium::updateCompositorResources):
2127         (WebCore::ContentLayerChromium::setTilingOption):
2128         (WebCore::ContentLayerChromium::bindContentsTexture):
2129         (WebCore::ContentLayerChromium::setIsMask):
2130         (WebCore::writeIndent):
2131         (WebCore::ContentLayerChromium::dumpLayerProperties):
2132         * platform/graphics/chromium/ContentLayerChromium.h:
2133         * platform/graphics/chromium/ImageLayerChromium.cpp:
2134         (WebCore::ImageLayerChromium::ImageLayerChromium):
2135         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2136         (WebCore::ImageLayerChromium::updateCompositorResources):
2137         (WebCore::ImageLayerChromium::contentBounds):
2138         * platform/graphics/chromium/ImageLayerChromium.h:
2139         (WebCore::ImageLayerChromium::drawsContent):
2140         * platform/graphics/chromium/LayerChromium.cpp:
2141         (WebCore::LayerChromium::pushPropertiesTo):
2142         (WebCore::LayerChromium::ccLayerImpl):
2143         * platform/graphics/chromium/LayerChromium.h:
2144         (WebCore::LayerChromium::draw):
2145         * platform/graphics/chromium/LayerRendererChromium.cpp:
2146         (WebCore::LayerRendererChromium::drawRootLayer):
2147         * platform/graphics/chromium/LayerTilerChromium.cpp:
2148         (WebCore::LayerTilerChromium::updateRect):
2149         (WebCore::LayerTilerChromium::draw):
2150         (WebCore::LayerTilerChromium::drawTiles):
2151         * platform/graphics/chromium/LayerTilerChromium.h:
2152         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
2153         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
2154         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2155         (WebCore::CCLayerImpl::drawsContent):
2156         (WebCore::CCLayerImpl::draw):
2157         * platform/graphics/chromium/cc/CCLayerImpl.h:
2158         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
2159         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
2160
2161 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
2162
2163         ApplicationCache update should not immediately fail when reaching per-origin quota
2164         https://bugs.webkit.org/show_bug.cgi?id=64177
2165
2166         Reviewed by Alexey Proskuryakov.
2167
2168         New behavior of handling ApplicationCache per-origin quotas. Previously,
2169         if the quota was reached while downloading we would fail the download
2170         and then prompt the user for a storage increase. This required a refresh,
2171         a redownload of resources, and the total storage was not known so the
2172         process could be repeated multiple times before an acceptable quota
2173         was found or the user disallowed an increase.
2174         
2175         The new behavior is to complete the download of the entire appcache.
2176         When the cache completes downloading and it is greater than the origin
2177         quota, prompt the user to allow a quota increase with the known space
2178         needed. If the quota is increased, the cache will succeed, otherwise
2179         it will fail with the normal failure steps.
2180
2181         An alternative behavior is prompting while downloading immediately
2182         when the origin quota is reached, however at that point the entire
2183         space needed is unknown and so quota increases might not be enough
2184         and could result in multiple prompts to the user.
2185
2186         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
2187                http/tests/appcache/origin-quota-continued-download.html
2188
2189         * loader/appcache/ApplicationCacheGroup.h:
2190         * loader/appcache/ApplicationCacheGroup.cpp:
2191         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
2192         Rename instance variable to be more clear on its intent.
2193
2194         (WebCore::ApplicationCacheGroup::didFinishLoading):
2195         Check the quota limit while downloading so we can fail early
2196         if the user already denied a quota increase.
2197
2198         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
2199         Pass the space needed information to the chrome client.
2200
2201         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
2202         Removed. Instead convert the callers to update state and console
2203         log when the per-origin quota is reached. This allows us to follow
2204         the normal failure steps if the quota is reached at the end of a
2205         download, and the alternative short path when we fail during downloading.
2206
2207         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
2208         Extract to a helper function.
2209
2210         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2211         Allow for a quota increase at the end of the download now that
2212         we know the space needed. Then proceed to fail or succeed
2213         as we normally would.
2214
2215         * loader/appcache/ApplicationCacheStorage.h:
2216         * loader/appcache/ApplicationCacheStorage.cpp:
2217         (WebCore::ApplicationCacheStorage::checkOriginQuota):
2218         (WebCore::ApplicationCacheStorage::storeNewestCache):
2219         Extract checking the origin quota for when an ApplicationCacheGroup
2220         will be replacing an ApplicationCacheGroup into a helper function.
2221         The helper also provides an out parameter for the space needed
2222         to properly fit the new cache group if it wouldn't fit.
2223
2224         * page/ChromeClient.h:
2225         * loader/EmptyClients.h:
2226         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
2227         Add a space needed parameter when reaching the per-origin quota.
2228
2229 2011-07-12  Chris Rogers  <crogers@google.com>
2230
2231         AudioDevice::Stop can close NULL handle.
2232         https://bugs.webkit.org/show_bug.cgi?id=64157
2233
2234         Reviewed by Kenneth Russell.
2235
2236         No new tests since audio API is not yet implemented.
2237
2238         * bindings/js/JSAudioContextCustom.cpp:
2239         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2240         * bindings/v8/custom/V8AudioContextCustom.cpp:
2241         (WebCore::V8AudioContext::constructorCallback):
2242         * webaudio/AudioContext.cpp:
2243         (WebCore::AudioContext::create):
2244         (WebCore::AudioContext::uninitialize):
2245         * webaudio/AudioContext.h:
2246
2247 2011-07-12  John Bates  <jbates@google.com>
2248
2249         Move call to syncCompositingLayers so that we do not trigger redundant draws.
2250         https://bugs.webkit.org/show_bug.cgi?id=64224
2251
2252         doComposite was triggering two composites every time a canvas was dirtied.
2253         By moving syncCompositingLayers call to layout, the client code can draw without triggering
2254         a redundant frame. Also renamed WebViewImpl::updateLayers to
2255         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
2256         no longer needed, because animateAndLayout calls WebViewImpl::layout.
2257
2258         Reviewed by James Robinson.
2259
2260         * platform/graphics/chromium/LayerRendererChromium.cpp:
2261         (WebCore::LayerRendererChromium::updateLayers):
2262         * platform/graphics/chromium/LayerRendererChromium.h:
2263         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2264         (WebCore::CCLayerTreeHost::syncCompositingLayers):
2265         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2266         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
2267         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
2268
2269 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
2270
2271         Isolate HTMLTextFormControlElement into a separate file
2272         https://bugs.webkit.org/show_bug.cgi?id=64381
2273
2274         Reviewed by Dimitri Glazkov.
2275
2276         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
2277         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
2278
2279         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
2280         because it was specific to HTMLTextFormControlElement, and replaced all references to
2281         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
2282         HTMLTextFormControlElement.
2283
2284         * CMakeLists.txt:
2285         * GNUmakefile.list.am:
2286         * WebCore.gypi:
2287         * WebCore.pro:
2288         * WebCore.vcproj/WebCore.vcproj:
2289         * WebCore.xcodeproj/project.pbxproj:
2290         * editing/TextIterator.cpp:
2291         * editing/htmlediting.cpp:
2292         * html/HTMLElementsAllInOne.cpp:
2293         * html/HTMLFormControlElement.cpp:
2294         (WebCore::HTMLFormControlElement::isFocusable):
2295         * html/HTMLFormControlElement.h:
2296         * html/HTMLInputElement.cpp:
2297         (WebCore::HTMLInputElement::isKeyboardFocusable):
2298         (WebCore::HTMLInputElement::isMouseFocusable):
2299         (WebCore::HTMLInputElement::updateFocusAppearance):
2300         (WebCore::HTMLInputElement::canStartSelection):
2301         (WebCore::HTMLInputElement::parseMappedAttribute):
2302         (WebCore::HTMLInputElement::finishParsingChildren):
2303         (WebCore::HTMLInputElement::rendererIsNeeded):
2304         (WebCore::HTMLInputElement::attach):
2305         (WebCore::HTMLInputElement::detach):
2306         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2307         (WebCore::HTMLInputElement::defaultEventHandler):
2308         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2309         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2310         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
2311         (WebCore::HTMLInputElement::recalcWillValidate):
2312         * html/HTMLInputElement.h:
2313         * html/HTMLTextAreaElement.cpp:
2314         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2315         * html/HTMLTextAreaElement.h:
2316         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
2317         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
2318         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
2319
2320 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2321
2322         Unreviewed, rolling out r90831.
2323         http://trac.webkit.org/changeset/90831
2324         https://bugs.webkit.org/show_bug.cgi?id=64389
2325
2326         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
2327         start timing out on the chromium GPU bots (Requested by ojan
2328         on #webkit).
2329
2330         * platform/graphics/skia/ImageBufferSkia.cpp:
2331         (WebCore::getImageData):
2332         (WebCore::putImageData):
2333
2334 2011-07-12  James Robinson  <jamesr@chromium.org>
2335
2336         Reviewed by Kenneth Russell.
2337
2338         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
2339         https://bugs.webkit.org/show_bug.cgi?id=58833
2340
2341         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
2342         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
2343         the drawing responsibilities for tiled layers.
2344
2345         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
2346         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
2347         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
2348         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
2349         way tile eviction works.
2350
2351         * WebCore.gypi:
2352         * platform/graphics/chromium/ContentLayerChromium.cpp:
2353         (WebCore::ContentLayerChromium::ContentLayerChromium):
2354         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2355         (WebCore::ContentLayerChromium::drawsContent):
2356         * platform/graphics/chromium/ContentLayerChromium.h:
2357         (WebCore::ContentLayerChromium::textureUpdater):
2358         * platform/graphics/chromium/ImageLayerChromium.cpp:
2359         (WebCore::ImageLayerChromium::ImageLayerChromium):
2360         (WebCore::ImageLayerChromium::cleanupResources):
2361         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2362         (WebCore::ImageLayerChromium::textureUpdater):
2363         (WebCore::ImageLayerChromium::contentBounds):
2364         (WebCore::ImageLayerChromium::drawsContent):
2365         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2366         * platform/graphics/chromium/ImageLayerChromium.h:
2367         * platform/graphics/chromium/LayerChromium.cpp:
2368         (WebCore::LayerChromium::pushPropertiesTo):
2369         (WebCore::LayerChromium::ccLayerImpl):
2370         * platform/graphics/chromium/LayerChromium.h:
2371         (WebCore::LayerChromium::contentBounds):
2372         * platform/graphics/chromium/LayerRendererChromium.cpp:
2373         (WebCore::LayerRendererChromium::drawRootLayer):
2374         (WebCore::visibleLayerRect):
2375         (WebCore::paintLayerContentsIfDirty):
2376         (WebCore::LayerRendererChromium::paintLayerContents):
2377         (WebCore::LayerRendererChromium::drawLayer):
2378         * platform/graphics/chromium/LayerTilerChromium.cpp:
2379         (WebCore::LayerTilerChromium::updateRect):
2380         (WebCore::LayerTilerChromium::draw):
2381         (WebCore::LayerTilerChromium::drawTiles):
2382         * platform/graphics/chromium/LayerTilerChromium.h:
2383         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
2384         (WebCore::TiledLayerChromium::TiledLayerChromium):
2385         (WebCore::TiledLayerChromium::~TiledLayerChromium):
2386         (WebCore::TiledLayerChromium::createCCLayerImpl):
2387         (WebCore::TiledLayerChromium::cleanupResources):
2388         (WebCore::TiledLayerChromium::setLayerRenderer):
2389         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2390         (WebCore::TiledLayerChromium::drawsContent):
2391         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2392         (WebCore::TiledLayerChromium::updateCompositorResources):
2393         (WebCore::TiledLayerChromium::setTilingOption):
2394         (WebCore::TiledLayerChromium::setIsMask):
2395         (WebCore::TiledLayerChromium::tilingTransform):
2396         (WebCore::TiledLayerChromium::pushPropertiesTo):
2397         (WebCore::writeIndent):
2398         (WebCore::TiledLayerChromium::dumpLayerProperties):
2399         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
2400         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2401         (WebCore::CCLayerImpl::draw):
2402         * platform/graphics/chromium/cc/CCLayerImpl.h:
2403         (WebCore::CCLayerImpl::setDrawsContent):
2404         (WebCore::CCLayerImpl::drawsContent):
2405         (WebCore::CCLayerImpl::contentBounds):
2406         (WebCore::CCLayerImpl::setContentBounds):
2407         (WebCore::CCLayerImpl::doubleSided):
2408         (WebCore::CCLayerImpl::setDoubleSided):
2409         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
2410         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2411         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
2412         (WebCore::CCTiledLayerImpl::draw):
2413         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2414         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
2415         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
2416         (WebCore::CCTiledLayerImpl::create):
2417         (WebCore::CCTiledLayerImpl::setTilingTransform):
2418         (WebCore::CCTiledLayerImpl::setTiler):
2419
2420 2011-07-12  Arno Renevier  <arno@renevier.net>
2421
2422         [GTK] DOM bindings do not have gir annotations
2423         https://bugs.webkit.org/show_bug.cgi?id=45395
2424
2425         Reviewed by Xan Lopez.
2426
2427         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
2428         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
2429         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
2430         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
2431
2432 2011-07-12  Chris Rogers  <crogers@google.com>
2433
2434         webkitAudioContext does not do proper sanity checking on its arguments.
2435         https://bugs.webkit.org/show_bug.cgi?id=64076
2436
2437         Reviewed by Kenneth Russell.
2438
2439         No new tests since audio API is not yet implemented.
2440
2441         * bindings/js/JSAudioContextCustom.cpp:
2442         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2443         (WebCore::JSAudioContext::createBuffer):
2444         * bindings/v8/custom/V8AudioContextCustom.cpp:
2445         (WebCore::V8AudioContext::constructorCallback):
2446         (WebCore::V8AudioContext::createBufferCallback):
2447         * platform/audio/HRTFDatabaseLoader.h:
2448         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
2449         * webaudio/AudioContext.cpp:
2450         (WebCore::AudioContext::create):
2451         (WebCore::AudioContext::createOfflineContext):
2452         (WebCore::AudioContext::createBuffer):
2453         * webaudio/AudioContext.h:
2454
2455 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2456
2457         Implement didReceiveDataArray callback for CFNetwork based loader
2458         https://bugs.webkit.org/show_bug.cgi?id=64130
2459
2460         Reviewed by David Kilzer.
2461
2462         Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
2463         a new method ResourceHandle::handleDataArray(). Implement the callback
2464         in the CFNetwork loader code and call handleDataArray() to process
2465         incoming data.
2466
2467         No new tests because the flag is not enabled for any bots.
2468
2469         * platform/network/ResourceHandle.h:
2470         * platform/network/cf/ResourceHandleCFNet.cpp:
2471         (WebCore::didReceiveDataArray):
2472         (WebCore::ResourceHandle::createCFURLConnection):
2473         (WebCore::ResourceHandle::handleDataArray):
2474         * platform/network/mac/ResourceHandleMac.mm:
2475         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
2476
2477 2011-07-12  Emil A Eklund  <eae@chromium.org>
2478
2479         Switch preferred width/height and columns to to new layout types
2480         https://bugs.webkit.org/show_bug.cgi?id=64329
2481
2482         Reviewed by Eric Seidel.
2483
2484         No new tests, no new functionality.
2485
2486         * rendering/LayoutTypes.h:
2487         (WebCore::ceiledLayoutUnit):
2488         Add ceiledLayoutUnit to go with the floored version.
2489         
2490         * rendering/RenderBlock.cpp:
2491         (WebCore::RenderBlock::adjustRectForColumns):
2492         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2493         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
2494         Rename rect version of flipForWritingModeIncludingColumns to
2495         adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
2496         and does not flip the rect.
2497        
2498         (WebCore::RenderBlock::adjustForColumns):
2499         (WebCore::updatePreferredWidth):
2500         * rendering/RenderBlock.h:
2501         * rendering/RenderBox.cpp:
2502         (WebCore::RenderBox::minPreferredLogicalWidth):
2503         (WebCore::RenderBox::maxPreferredLogicalWidth):
2504         (WebCore::RenderBox::offsetFromContainer):
2505         (WebCore::RenderBox::computePercentageLogicalHeight):
2506         (WebCore::RenderBox::flipForWritingMode):
2507         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
2508         * rendering/RenderBox.h:
2509         * rendering/RenderListBox.cpp:
2510         (WebCore::RenderListBox::itemBoundingBoxRect):
2511         * rendering/RenderListBox.h:
2512         * rendering/RenderObject.h:
2513         (WebCore::RenderObject::minPreferredLogicalWidth):
2514         (WebCore::RenderObject::maxPreferredLogicalWidth):
2515         (WebCore::RenderObject::adjustForColumns):
2516         * rendering/RenderReplaced.cpp:
2517         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2518         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2519         * rendering/TableLayout.h:
2520
2521 2011-07-12  Levi Weintraub  <leviw@chromium.org>
2522
2523         Change roundedIntRect to roundedRect
2524         https://bugs.webkit.org/show_bug.cgi?id=64326
2525
2526         Reviewed by Eric Seidel.
2527
2528         Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
2529         integer-based versions.
2530
2531         No new tests, no new functionality
2532
2533         * WebCore.gypi:
2534         * WebCore.pro:
2535         * WebCore.vcproj/WebCore.vcproj:
2536         * WebCore.xcodeproj/project.pbxproj:
2537         * platform/graphics/GraphicsContext.cpp:
2538         (WebCore::GraphicsContext::addRoundedRectClip):
2539         (WebCore::GraphicsContext::clipOutRoundedRect):
2540         (WebCore::GraphicsContext::fillRoundedRect):
2541         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2542         * platform/graphics/GraphicsContext.h:
2543         * platform/graphics/Path.cpp:
2544         (WebCore::Path::addRoundedRect):
2545         * platform/graphics/Path.h:
2546         * platform/graphics/RoundedIntRect.cpp: Removed.
2547         * platform/graphics/RoundedIntRect.h: Removed.
2548         * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
2549         (WebCore::RoundedRect::Radii::isZero):
2550         (WebCore::RoundedRect::Radii::scale):
2551         (WebCore::RoundedRect::Radii::expand):
2552         (WebCore::RoundedRect::inflateWithRadii):
2553         (WebCore::RoundedRect::Radii::includeLogicalEdges):
2554         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
2555         (WebCore::RoundedRect::RoundedRect):
2556         (WebCore::RoundedRect::includeLogicalEdges):
2557         (WebCore::RoundedRect::excludeLogicalEdges):
2558         (WebCore::RoundedRect::isRenderable):
2559         * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
2560         (WebCore::RoundedRect::Radii::Radii):
2561         (WebCore::RoundedRect::Radii::setTopLeft):
2562         (WebCore::RoundedRect::Radii::setTopRight):
2563         (WebCore::RoundedRect::Radii::setBottomLeft):
2564         (WebCore::RoundedRect::Radii::setBottomRight):
2565         (WebCore::RoundedRect::Radii::topLeft):
2566         (WebCore::RoundedRect::Radii::topRight):
2567         (WebCore::RoundedRect::Radii::bottomLeft):
2568         (WebCore::RoundedRect::Radii::bottomRight):
2569         (WebCore::RoundedRect::Radii::expand):
2570         (WebCore::RoundedRect::Radii::shrink):
2571         (WebCore::RoundedRect::rect):
2572         (WebCore::RoundedRect::setRect):
2573         (WebCore::RoundedRect::move):
2574         (WebCore::RoundedRect::inflate):
2575         (WebCore::RoundedRect::expandRadii):
2576         (WebCore::RoundedRect::shrinkRadii):
2577         (WebCore::operator==):
2578         * platform/graphics/ShadowBlur.cpp:
2579         (WebCore::ScratchBuffer::setLastShadowValues):
2580         (WebCore::ScratchBuffer::setLastInsetShadowValues):
2581         (WebCore::ScratchBuffer::matchesLastShadow):
2582         (WebCore::ScratchBuffer::matchesLastInsetShadow):
2583         (WebCore::computeSliceSizesFromRadii):
2584         (WebCore::ShadowBlur::templateSize):
2585         (WebCore::ShadowBlur::drawRectShadow):
2586         (WebCore::ShadowBlur::drawInsetShadow):
2587         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2588         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2589         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2590         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2591         (WebCore::ShadowBlur::drawLayerPieces):
2592         * platform/graphics/ShadowBlur.h:
2593         * platform/graphics/cg/GraphicsContextCG.cpp:
2594         (WebCore::GraphicsContext::fillRect):
2595         (WebCore::GraphicsContext::fillRoundedRect):
2596         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2597         * rendering/RenderBox.cpp:
2598         (WebCore::RenderBox::paintBoxDecorations):
2599         * rendering/RenderBoxModelObject.cpp:
2600         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2601         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2602         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2603         (WebCore::RenderBoxModelObject::paintBorderSides):
2604         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2605         (WebCore::RenderBoxModelObject::paintBorder):
2606         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2607         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2608         (WebCore::RenderBoxModelObject::paintBoxShadow):
2609         * rendering/RenderBoxModelObject.h:
2610         * rendering/RenderThemeMac.mm:
2611         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2612         (WebCore::RenderThemeMac::paintSliderTrack):
2613         * rendering/style/RenderStyle.cpp:
2614         (WebCore::calcRadiiFor):
2615         (WebCore::calcConstraintScaleFor):
2616         (WebCore::RenderStyle::getRoundedBorderFor):
2617         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2618         * rendering/style/RenderStyle.h:
2619
2620 2011-07-12  Mike Reed  <reed@google.com>
2621
2622         [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
2623         https://bugs.webkit.org/show_bug.cgi?id=64302
2624
2625         Reviewed by Stephen White.
2626
2627         No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
2628
2629         * platform/graphics/skia/ImageBufferSkia.cpp:
2630         (WebCore::getImageData):
2631         (WebCore::putImageData):
2632
2633 2011-07-12  Pavel Feldman  <pfeldman@google.com>
2634
2635         Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
2636         https://bugs.webkit.org/show_bug.cgi?id=64350
2637
2638         Reviewed by Yury Semikhatsky.
2639
2640         Test: inspector/user-metrics.html
2641
2642         * WebCore.gypi:
2643         * WebCore.vcproj/WebCore.vcproj:
2644         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2645         (WebCore::JSInspectorFrontendHost::recordActionTaken):
2646         (WebCore::JSInspectorFrontendHost::recordPanelShown):
2647         (WebCore::JSInspectorFrontendHost::recordSettingChanged):
2648         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2649         (WebCore::histogramEnumeration):
2650         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
2651         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
2652         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
2653         * inspector/InspectorFrontendHost.idl:
2654         * inspector/front-end/AuditsPanel.js:
2655         (WebInspector.AuditsPanel.prototype.initiateAudit):
2656         * inspector/front-end/ConsoleView.js:
2657         * inspector/front-end/DebuggerModel.js:
2658         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2659         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2660         * inspector/front-end/InspectorFrontendHostStub.js:
2661         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
2662         (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
2663         (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
2664         (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
2665         * inspector/front-end/ProfilesPanel.js:
2666         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2667         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2668         * inspector/front-end/TimelinePanel.js:
2669         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2670         * inspector/front-end/UserMetrics.js: Added.
2671         (WebInspector.UserMetrics.settingChanged):
2672         (WebInspector.UserMetrics):
2673         (WebInspector.UserMetrics.prototype.panelShown):
2674         (WebInspector.UserMetrics._Recorder):
2675         (WebInspector.UserMetrics._Recorder.prototype.record):
2676         * inspector/front-end/WebKit.qrc:
2677         * inspector/front-end/inspector.html:
2678         * inspector/front-end/inspector.js:
2679         (WebInspector._toggleAttach):
2680
2681 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2682
2683         Reviewed by David Kilzer.
2684
2685         Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
2686         https://bugs.webkit.org/show_bug.cgi?id=63286
2687
2688         When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
2689         CFURLResponseRef so that WebKit can continue using the NSURLResponse.
2690
2691         No new tests because no change in functionality and option is not enabled on Mac.
2692
2693         * platform/network/cf/ResourceResponse.h:
2694         (WebCore::ResourceResponse::ResourceResponse):
2695         * platform/network/mac/ResourceResponseMac.mm:
2696         (WebCore::ResourceResponse::initNSURLResponse):
2697         (WebCore::ResourceResponse::nsURLResponse):
2698         (WebCore::ResourceResponse::ResourceResponse):
2699
2700 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2701
2702         Web Inspector: Cancelling an empty edit fails.
2703         https://bugs.webkit.org/show_bug.cgi?id=64351
2704
2705         Reviewed by Pavel Feldman.
2706
2707         * inspector/front-end/ResourceView.js:
2708         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
2709
2710 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2711
2712         Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
2713         https://bugs.webkit.org/show_bug.cgi?id=64353
2714
2715         Reviewed by Pavel Feldman.
2716
2717         * inspector/front-end/SourceFrame.js:
2718         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2719         (WebInspector.SourceFrame.prototype.afterTextChanged):
2720         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
2721         (WebInspector.SourceFrame.prototype.suggestedFileName):
2722         (WebInspector.SourceFrame.prototype.doubleClick):
2723         (WebInspector.SourceFrame.prototype.cancelEditing):
2724         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2725         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
2726         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
2727         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
2728         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
2729         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
2730         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
2731         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
2732
2733 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
2734
2735         Web Inspector: remove more dead code from the Network panel
2736         https://bugs.webkit.org/show_bug.cgi?id=64291
2737
2738         Reviewed by Pavel Feldman.
2739
2740         * inspector/front-end/NetworkPanel.js:
2741         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2742         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
2743         * inspector/front-end/networkPanel.css:
2744
2745 2011-07-12  Adam Roben  <aroben@apple.com>
2746
2747         Unreviewed, rolling out r90811.
2748         http://trac.webkit.org/changeset/90811
2749         https://bugs.webkit.org/show_bug.cgi?id=61025
2750
2751         Several svg tests failing assertions beneath
2752         SVGSMILElement::findInstanceTime
2753
2754         * svg/animation/SVGSMILElement.cpp:
2755         (WebCore::SVGSMILElement::findInstanceTime):
2756
2757 2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
2758
2759         Reviewed by Nikolas Zimmermann.
2760
2761         Speed up SVGSMILElement::findInstanceTime.
2762         https://bugs.webkit.org/show_bug.cgi?id=61025
2763
2764         Replace the linear search to binary search on ordered list because
2765         the previous searches from the beginning was not efficient.
2766         Out of index error fixed by Renata Hodovan.
2767
2768         No new tests this is only a performance tweak.
2769
2770         * svg/animation/SVGSMILElement.cpp:
2771         (WebCore::extractTimeFromVector):
2772         (WebCore::SVGSMILElement::findInstanceTime):
2773
2774 2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>
2775
2776         Optimize HTMLInputElement::updateCheckedRadioButtons
2777         https://bugs.webkit.org/show_bug.cgi?id=62840
2778
2779         Reviewed by Kent Tamura.
2780
2781         No new tests.
2782
2783         * dom/Document.h:
2784         (WebCore::Document::getFormElements):
2785         * html/HTMLInputElement.cpp:
2786         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2787         (WebCore::HTMLInputElement::setChecked):
2788
2789 2011-07-11  Pratik Solanki  <psolanki@apple.com>
2790
2791         Reviewed by David Kilzer.
2792
2793         Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
2794         https://bugs.webkit.org/show_bug.cgi?id=63276
2795
2796         When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
2797         CFURLRequestRef so that WebKit can continue using the NSURLRequest.
2798
2799         No new tests because no change in functionality and option is not enabled on Mac.
2800
2801         * platform/network/cf/ResourceRequest.h:
2802         (WebCore::ResourceRequest::updateNSURLRequest):
2803         (WebCore::ResourceRequest::ResourceRequest):
2804         * platform/network/cf/ResourceRequestCFNet.cpp:
2805         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
2806         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
2807         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2808         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2809         * platform/network/mac/ResourceRequestMac.mm:
2810         (WebCore::ResourceRequest::nsURLRequest):
2811         (WebCore::ResourceRequest::ResourceRequest):
2812         (WebCore::ResourceRequest::updateNSURLRequest):
2813
2814 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2815
2816         positionForPoint is broken when a block is positioned relatively inside the parent
2817         https://bugs.webkit.org/show_bug.cgi?id=64298
2818
2819         Reviewed by Simon Fraser.
2820
2821         The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
2822         into account when computing the point in child coordinates. Fixed the bug by adding the offset to
2823         childLocation as needed.
2824
2825         Test: fast/block/positioning/hittest-on-relative-positioned-children.html
2826
2827         * rendering/RenderBlock.cpp:
2828         (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
2829         IntPoint by LayoutPoint.
2830
2831 2011-07-11  Dan Bernstein  <mitz@apple.com>
2832
2833         Excessive expansion of justified text when rounding hacks are enabled
2834         https://bugs.webkit.org/show_bug.cgi?id=64331
2835
2836         Reviewed by Anders Carlsson.
2837
2838         Test: platform/mac/fast/text/rounding-hacks-expansion.html
2839
2840         When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
2841         integer. Restored more of the logic that was removed in r78846 in order to ensure this.
2842
2843         * platform/graphics/WidthIterator.cpp:
2844         (WebCore::WidthIterator::advance):
2845         * platform/graphics/mac/ComplexTextController.cpp:
2846         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2847
2848 2011-07-11  Jer Noble  <jer.noble@apple.com>
2849
2850         HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
2851         https://bugs.webkit.org/show_bug.cgi?id=64327
2852
2853         Reviewed by Darin Adler.
2854
2855         No new tests; no change in functionality, so covered by existing tests.
2856
2857         Make the rules from fullscreenQuickTime.css !important so they are not overridden
2858         by page authors.
2859
2860         * css/fullscreenQuickTime.css:
2861         (video:-webkit-full-screen::-webkit-media-controls-panel):
2862
2863 2011-07-11  Levi Weintraub  <leviw@chromium.org>
2864
2865         Switch lineTop and lineBottom to new layout types
2866         https://bugs.webkit.org/show_bug.cgi?id=64317
2867
2868         Reviewed by Eric Seidel.
2869
2870         Changing lineTop and lineBottom to LayoutUnits and preparing all uses
2871         of them for the upcoming conversion.
2872
2873         No new tests, no new functionality.
2874
2875         * rendering/EllipsisBox.cpp:
2876         (WebCore::EllipsisBox::nodeAtPoint):
2877         * rendering/EllipsisBox.h:
2878         * rendering/GapRects.h:
2879         (WebCore::GapRects::left):
2880         (WebCore::GapRects::center):
2881         (WebCore::GapRects::right):
2882         (WebCore::GapRects::uniteLeft):
2883         (WebCore::GapRects::uniteCenter):
2884         (WebCore::GapRects::uniteRight):
2885         (WebCore::GapRects::operator LayoutRect):
2886         * rendering/InlineBox.cpp:
2887         (WebCore::InlineBox::nodeAtPoint):
2888         * rendering/InlineBox.h:
2889         * rendering/InlineFlowBox.cpp:
2890         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2891         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
2892         (WebCore::InlineFlowBox::computeOverflow):
2893         (WebCore::InlineFlowBox::setLayoutOverflow):
2894         (WebCore::InlineFlowBox::setVisualOverflow):
2895         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2896         (WebCore::InlineFlowBox::nodeAtPoint):
2897         * rendering/InlineFlowBox.h:
2898         (WebCore::InlineFlowBox::layoutOverflowRect):
2899         (WebCore::InlineFlowBox::visualOverflowRect):
2900         * rendering/InlineTextBox.cpp:
2901         (WebCore::InlineTextBox::nodeAtPoint):
2902         * rendering/RenderLineBoxList.cpp:
2903         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2904         * rendering/RenderLineBoxList.h:
2905         * rendering/RenderListItem.cpp:
2906         (WebCore::RenderListItem::positionListMarker):
2907         * rendering/RenderTextControl.h:
2908         * rendering/RenderTextControlMultiLine.cpp:
2909         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
2910         * rendering/RenderTextControlSingleLine.cpp:
2911         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
2912         * rendering/RenderTextControlSingleLine.h:
2913         * rendering/RootInlineBox.cpp:
2914         (WebCore::RootInlineBox::nodeAtPoint):
2915         * rendering/RootInlineBox.h:
2916         (WebCore::RootInlineBox::lineTop):
2917         (WebCore::RootInlineBox::lineBottom):
2918         (WebCore::RootInlineBox::setLineTopBottomPositions):
2919         (WebCore::RootInlineBox::logicalTopVisualOverflow):
2920         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
2921         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
2922         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
2923         * rendering/svg/SVGInlineFlowBox.h:
2924         * rendering/svg/SVGInlineTextBox.cpp:
2925         (WebCore::SVGInlineTextBox::nodeAtPoint):
2926         * rendering/svg/SVGInlineTextBox.h:
2927         * rendering/svg/SVGRootInlineBox.h:
2928
2929 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
2930
2931         Reviewed by Daniel Bates.
2932
2933         [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
2934         https://bugs.webkit.org/show_bug.cgi?id=62752
2935
2936         Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
2937         arguments to the GdkCursor constructor.
2938
2939         No new tests. This is covered by manual-tests/cursor.html.
2940
2941         * platform/gtk/CursorGtk.cpp:
2942         (WebCore::createNamedCursor):
2943
2944 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2945
2946         [Qt] Unreviewed rollout 90779 which may fail the layout-test.
2947
2948         * platform/network/qt/QNetworkReplyHandler.cpp:
2949         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2950         * platform/network/qt/QNetworkReplyHandler.h:
2951
2952 2011-07-11  Bradley Nelson  <bradnelson@chromium.org>
2953
2954         Reviewed by Darin Fisher.
2955
2956         Split webcore_dom off webcore_remaining to reduce its size for
2957         whole program optimization builds.
2958
2959         https://bugs.webkit.org/show_bug.cgi?id=64299
2960
2961         * WebCore.gyp/WebCore.gyp:
2962
2963 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2964
2965         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
2966         https://bugs.webkit.org/show_bug.cgi?id=62808
2967
2968         Reviewed by Benjamin Poulain.
2969
2970         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
2971         content delivery -- To resume a page, first, its main resource loader
2972         calls setDefersLoading to resume loading the main content; then all the
2973         sub-resource loaders calls setDefersLoading to resume sub-contents.
2974         However, since QNetworkReplyHandler delivers content synchronously,
2975         some new sub-resource loaders get created as soon as the main resource
2976         loader resumed, and all these new sub-resource loaders set their
2977         defersLoading flag to false. Then, the assertion fails for these new
2978         sub-resource loaders when calling setDefersLoading on them. As a fix,
2979         this path makes QNetworkReplyHandler deliver content asynchronously.
2980
2981         Test: loader/load-defer-resume-crash.html
2982
2983         * platform/network/qt/QNetworkReplyHandler.cpp:
2984         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2985         * platform/network/qt/QNetworkReplyHandler.h:
2986
2987 2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>
2988
2989         Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
2990         https://bugs.webkit.org/show_bug.cgi?id=64134
2991
2992         Reviewed by Kent Tamura.
2993
2994         Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
2995         HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
2996         RenderTextControlMultiLine.
2997
2998         This refactoring removes the indirection through RenderTextControl and makes the ownership of
2999         shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
3000         are now less error prone because it no longer depends on the lifetime of the render tree.
3001
3002         * accessibility/AccessibilityRenderObject.cpp:
3003         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
3004         HTMLTextFormControlElement.
3005         * dom/Node.cpp:
3006         (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
3007         needed before making input and textarea elements use the new shadow DOM model.
3008         * editing/TextIterator.cpp:
3009         (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
3010         * html/HTMLFormControlElement.cpp:
3011         (WebCore::hasVisibleTextArea): Takes innerTextElement.
3012         (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
3013         (WebCore::HTMLTextFormControlElement::selection): Ditto.
3014         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
3015         for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
3016         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
3017         * html/HTMLFormControlElement.h:
3018         * html/HTMLTextAreaElement.cpp:
3019         (WebCore::HTMLTextAreaElement::innerTextElement): Added.
3020         * html/HTMLTextAreaElement.h:
3021         * rendering/RenderTextControl.cpp:
3022         (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
3023         (WebCore::RenderTextControl::innerTextElement): Added.
3024         * rendering/RenderTextControl.h:
3025         * rendering/RenderTextControlMultiLine.cpp:
3026         * rendering/RenderTextControlMultiLine.h:
3027         * rendering/RenderTextControlSingleLine.cpp:
3028         * rendering/RenderTextControlSingleLine.h:
3029
3030 2011-07-11  Tony Chang  <tony@chromium.org>
3031
3032         rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
3033         https://bugs.webkit.org/show_bug.cgi?id=64217
3034
3035         Reviewed by Ojan Vafai.
3036
3037         This is to make way for the new flexbox needing a similar method.
3038         RenderObject also has isFlexingChildren() and isStretchingChildren(),
3039         but we may be able to use those for the new flexbox as well so I
3040         didn't rename them.
3041
3042         No new tests, just refactoring.
3043
3044         * rendering/RenderBlock.cpp:
3045         (WebCore::RenderBlock::removeChild):
3046         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
3047         (WebCore::shouldCheckLines):
3048         * rendering/RenderBox.cpp:
3049         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
3050         (WebCore::RenderBox::computeLogicalWidth):
3051         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
3052         (WebCore::RenderBox::computeLogicalHeight):
3053         * rendering/RenderDeprecatedFlexibleBox.cpp:
3054         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3055         * rendering/RenderDeprecatedFlexibleBox.h:
3056         (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
3057         * rendering/RenderObject.h:
3058         (WebCore::RenderObject::isDeprecatedFlexibleBox):
3059
3060 2011-07-11  Nate Chapin  <japhet@chromium.org>
3061
3062         [Chromium] Ensure we don't crash when an
3063         HTMLSelectElement mouse release event removes
3064         the element from the DOM.
3065         https://bugs.webkit.org/show_bug.cgi?id=64295
3066
3067         Reviewed by Dimitri Glazkov.
3068
3069         Manual test only because the crash requires a
3070         real popup menu, which DRT doesn't provide.
3071
3072         * manual-tests/chromium/popup-menu-crash.html: Added.
3073         * platform/chromium/PopupMenuChromium.cpp:
3074         (WebCore::PopupContainer::handleMouseReleaseEvent):
3075
3076 2011-07-11  Mike Reed  <reed@google.com>
3077
3078         [skia] remove platform helpers for gradients and patterns
3079         https://bugs.webkit.org/show_bug.cgi?id=64281
3080
3081         Reviewed by Stephen White.
3082
3083         No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
3084
3085         Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
3086         and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
3087         2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
3088         us to see that edit.
3089
3090         * platform/graphics/GraphicsContext.cpp:
3091         (WebCore::GraphicsContext::setStrokePattern):
3092         (WebCore::GraphicsContext::setFillPattern):
3093         (WebCore::GraphicsContext::setStrokeGradient):
3094         (WebCore::GraphicsContext::setFillGradient):
3095         * platform/graphics/GraphicsContext.h:
3096         * platform/graphics/skia/GraphicsContextSkia.cpp:
3097         (WebCore::GraphicsContext::platformInit):
3098         * platform/graphics/skia/PlatformContextSkia.cpp:
3099         (WebCore::PlatformContextSkia::State::State):
3100         (WebCore::PlatformContextSkia::State::~State):
3101         (WebCore::PlatformContextSkia::PlatformContextSkia):
3102         (WebCore::PlatformContextSkia::drawRect):
3103         (WebCore::PlatformContextSkia::setupShader):
3104         (WebCore::PlatformContextSkia::setupPaintForFilling):
3105         (WebCore::PlatformContextSkia::setupPaintForStroking):
3106         (WebCore::PlatformContextSkia::setFillColor):
3107         (WebCore::PlatformContextSkia::setStrokeColor):
3108         (WebCore::PlatformContextSkia::canAccelerate):
3109         * platform/graphics/skia/PlatformContextSkia.h:
3110         (WebCore::PlatformContextSkia::setGraphicsContext):
3111
3112 2011-07-11  Young Han Lee  <joybro@company100.net>
3113
3114         Reviewed by Simon Fraser.
3115
3116         Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
3117         https://bugs.webkit.org/show_bug.cgi?id=63859
3118
3119         The existing code to set the m_startTime haven't worked because 
3120         the animation is not the right state to accept the start event. 
3121         This patch just sets the values directly instead of using event.
3122
3123         Test: transitions/delay.html
3124
3125         * page/animation/AnimationBase.cpp:
3126         (WebCore::AnimationBase::freezeAtTime):
3127
3128 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
3129
3130         Move selection related code from RenderTextControl to HTMLTextFormControlElement
3131         https://bugs.webkit.org/show_bug.cgi?id=64133
3132
3133         Reviewed by Dimitri Glazkov.
3134
3135         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
3136         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
3137
3138         This refactoring removes RenderTextControl's dependency on FrameSelection.
3139
3140         * accessibility/AccessibilityRenderObject.cpp:
3141         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
3142         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
3143         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
3144         * html/HTMLFormControlElement.cpp:
3145         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
3146         (WebCore::hasVisibleTextArea): Added.
3147         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
3148         (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
3149         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
3150         (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
3151         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
3152         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
3153         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
3154         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
3155         RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
3156         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
3157         * html/HTMLFormControlElement.h:
3158         * html/HTMLInputElement.cpp:
3159         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
3160         * rendering/RenderTextControl.cpp:
3161         (WebCore::RenderTextControl::textFormControlElement): Added.
3162         * rendering/RenderTextControl.h:
3163
3164 2011-07-11  Andreas Kling  <kling@webkit.org>
3165
3166         Reviewed by Oliver Hunt.
3167
3168         Canvas: Use fast, approximate dirty rects for stroke()
3169         https://bugs.webkit.org/show_bug.cgi?id=59764
3170
3171         No new tests, this is an optimization.
3172
3173         * html/canvas/CanvasRenderingContext2D.cpp:
3174         (WebCore::CanvasRenderingContext2D::stroke): Instead of using
3175         Path::strokeBoundingRect() to calculate the exact bounding rect
3176         for a path stroke, get the Path::boundingRect() and inflate it by
3177         miterLimit + lineWidth to get a slightly oversized dirty rect
3178         in a fraction of the time.
3179
3180 2011-07-11  Andrey Kosyakov  <caseq@chromium.org>
3181
3182         Reviewed by Pavel Feldman.
3183
3184         Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
3185         https://bugs.webkit.org/show_bug.cgi?id=62477
3186
3187         * inspector/front-end/AuditsPanel.js:
3188         * inspector/front-end/ExtensionServer.js:
3189         (WebInspector.ExtensionServer):
3190         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
3191         (WebInspector.ExtensionServer.prototype._onGetHAR):
3192         (WebInspector.ExtensionServer.prototype.initExtensions):
3193         * inspector/front-end/HAREntry.js:
3194         (WebInspector.HARLog):
3195         (WebInspector.HARLog.prototype.build):
3196         * inspector/front-end/NetworkManager.js:
3197         (WebInspector.NetworkLog):
3198         (WebInspector.NetworkLog.prototype.get resources):
3199         (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
3200         (WebInspector.NetworkLog.prototype._onResourceStarted):
3201         * inspector/front-end/NetworkPanel.js:
3202         (WebInspector.NetworkPanel.prototype._reset):
3203         (WebInspector.NetworkPanel.prototype._copyAll):
3204         (WebInspector.NetworkPanel.prototype._exportAll):
3205         * inspector/front-end/inspector.js:
3206         (WebInspector.reset):
3207
3208 2011-07-11  Pavel Podivilov  <podivilov@chromium.org>
3209
3210         Web Inspector: make SourceFrame a View.
3211         https://bugs.webkit.org/show_bug.cgi?id=64274
3212
3213         Reviewed by Pavel Feldman.
3214
3215         * inspector/front-end/SourceFrame.js:
3216         (WebInspector.SourceFrame):
3217         (WebInspector.SourceFrame.createSearchRegex):
3218         (WebInspector.SourceFrame.prototype.show):
3219         (WebInspector.SourceFrame.prototype.hide):
3220         (WebInspector.SourceFrame.prototype._beforeTextChanged):
3221         (WebInspector.SourceFrame.prototype._afterTextChanged):
3222         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3223         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3224         (WebInspector.SourceFrame.prototype.performSearch):
3225         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
3226         (WebInspector.SourceFrame.prototype._suggestedFileName):
3227         (WebInspector.SourceFrame.prototype._doubleClick):
3228         (WebInspector.SourceFrame.prototype._cancelEditing):
3229         (WebInspector.TextViewerDelegateForSourceFrame):
3230         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
3231         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
3232         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
3233         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
3234         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
3235         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
3236         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
3237         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
3238         * inspector/front-end/TextViewer.js:
3239         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3240
3241 2011-07-11  Noel Gordon  <noel.gordon@gmail.com>
3242
3243         Reviewed by Adam Roben.
3244
3245         Forward focus events to windowless plugins on the windows port.
3246         https://bugs.webkit.org/show_bug.cgi?id=62375
3247
3248         * plugins/win/PluginViewWin.cpp:
3249         (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
3250
3251 2011-07-11  Shinya Kawanaka  <shinyak@google.com>
3252
3253         Added accessibility notification when value is changed.
3254         https://bugs.webkit.org/show_bug.cgi?id=64256
3255
3256         Notifies the value change of range input when accessibility is enabled.
3257
3258         Reviewed by Kent Tamura.
3259
3260         Covered by existing tests.
3261
3262         * html/RangeInputType.cpp:
3263         (WebCore::RangeInputType::handleKeydownEvent):
3264           Added accessibility notification when value is changed.
3265
3266 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
3267
3268         Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
3269         https://bugs.webkit.org/show_bug.cgi?id=64161
3270
3271         Reviewed by Pavel Feldman.
3272
3273         * inspector/front-end/ProfilesPanel.js:
3274         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
3275         * inspector/front-end/TimelineOverviewPane.js:
3276         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
3277
3278 2011-07-11  Pavel Feldman  <pfeldman@google.com>
3279
3280         Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
3281         https://bugs.webkit.org/show_bug.cgi?id=63982
3282
3283         Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.
3284
3285         Reviewed by Yury Semikhatsky.
3286
3287         * WebCore.exp.in:
3288         * inspector/DOMNodeHighlighter.cpp:
3289         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
3290         * page/FrameView.cpp:
3291         * page/FrameView.h:
3292         * platform/ScrollView.h:
3293         * platform/Widget.cpp:
3294         * platform/Widget.h:
3295         * rendering/RenderBox.cpp:
3296         (WebCore::RenderBox::mapLocalToContainer):
3297         * rendering/RenderBox.h:
3298         * rendering/RenderInline.cpp:
3299         (WebCore::RenderInline::mapLocalToContainer):
3300         * rendering/RenderInline.h:
3301         * rendering/RenderObject.cpp:
3302         (WebCore::RenderObject::mapLocalToContainer):
3303         (WebCore::RenderObject::localToContainerQuad):
3304         * rendering/RenderObject.h:
3305         (WebCore::RenderObject::localToAbsoluteQuad):
3306         * rendering/RenderView.cpp:
3307         (WebCore::RenderView::mapLocalToContainer):
3308         * rendering/RenderView.h:
3309         * rendering/svg/RenderSVGForeignObject.cpp:
3310         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
3311         * rendering/svg/RenderSVGForeignObject.h:
3312         * rendering/svg/RenderSVGInline.cpp:
3313         (WebCore::RenderSVGInline::mapLocalToContainer):
3314         * rendering/svg/RenderSVGInline.h:
3315         * rendering/svg/RenderSVGModelObject.cpp:
3316         (WebCore::RenderSVGModelObject::mapLocalToContainer):
3317         * rendering/svg/RenderSVGModelObject.h:
3318         * rendering/svg/RenderSVGRoot.cpp:
3319         (WebCore::RenderSVGRoot::mapLocalToContainer):
3320         * rendering/svg/RenderSVGRoot.h:
3321         * rendering/svg/RenderSVGText.cpp:
3322         (WebCore::RenderSVGText::mapLocalToContainer):
3323         * rendering/svg/RenderSVGText.h:
3324         * rendering/svg/SVGRenderSupport.cpp:
3325         (WebCore::SVGRenderSupport::mapLocalToContainer):
3326         * rendering/svg/SVGRenderSupport.h:
3327
3328 2011-07-11  Mustafizur Rahaman  <mustaf.here@gmail.com>
3329
3330         Reviewed by James Robinson.
3331
3332         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
3333         https://bugs.webkit.org/show_bug.cgi?id=48292
3334         
3335         and
3336         
3337         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
3338         https://bugs.webkit.org/show_bug.cgi?id=48302
3339
3340         * html/canvas/CanvasRenderingContext2D.cpp:
3341         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop 
3342         to draw transparency elsewhere for destination-atop
3343
3344 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
3345
3346         Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
3347         https://bugs.webkit.org/show_bug.cgi?id=61175
3348
3349         The message has been replaced with spinner icons appearing instead of profile's
3350         icon. As each profile owns a worker, they run independently, and there can be
3351         multiple spinners at the same time.
3352
3353         Reviewed by Pavel Feldman.
3354
3355         * WebCore.gypi:
3356         * WebCore.vcproj/WebCore.vcproj:
3357         * inspector/front-end/DetailedHeapshotGridNodes.js:
3358         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
3359         (WebInspector.HeapSnapshotGridNode.prototype._populate):
3360         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3361         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3362         * inspector/front-end/DetailedHeapshotView.js:
3363         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3364         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
3365         (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
3366         (WebInspector.DetailedHeapshotView.profileCallback):
3367         (WebInspector.DetailedHeapshotView):
3368         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
3369         (WebInspector.DetailedHeapshotView.prototype._changeBase):
3370         (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
3371         (WebInspector.DetailedHeapshotView.prototype._changeView):
3372         * inspector/front-end/HeapSnapshotProxy.js:
3373         (WebInspector.HeapSnapshotWorker):
3374         (WebInspector.HeapSnapshotWorker.prototype.dispose):
3375         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
3376         (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
3377         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
3378         (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
3379         * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
3380         * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
3381         * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
3382         * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
3383         * inspector/front-end/PleaseWaitMessage.js: Removed.
3384         * inspector/front-end/ProfilesPanel.js:
3385         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3386         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
3387         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
3388         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
3389         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
3390         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
3391         * inspector/front-end/SidebarTreeElement.js:
3392         (WebInspector.SidebarTreeElement.prototype.set wait):
3393         * inspector/front-end/WebKit.qrc:
3394         * inspector/front-end/heapProfiler.css:
3395         (.heap-snapshot-sidebar-tree-item.wait .icon):
3396         (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
3397         (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
3398         (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
3399         * inspector/front-end/inspector.html:
3400
3401 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3402
3403         Generate conditional include statements in CodeGeneratorJS
3404         https://bugs.webkit.org/show_bug.cgi?id=64231
3405
3406         Reviewed by Brent Fulgham.
3407
3408         Suround headers with a correspondig #if ENABLE() line.
3409         This allows us to generate bindings only of required IDL files.
3410
3411         Changing the current preprocessor statements to the Conditional attribute
3412         in a next step helps in getting rid of calls to the preprocessor,
3413         which causes so much pain on a natvie Windows environment. 
3414
3415         * bindings/scripts/CodeGeneratorJS.pm:
3416         (GenerateImplementation):
3417         (WriteData):
3418
3419 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3420
3421         Remove array size from generated JSC binding tables
3422         https://bugs.webkit.org/show_bug.cgi?id=64229
3423
3424         Reviewed by Brent Fulgham.
3425
3426         Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
3427         the array size isn't fix and correct in all cases.
3428         So let the compiler calculate the correct size itself.
3429
3430         * bindings/scripts/CodeGeneratorJS.pm:
3431         (GenerateHashTable):
3432         * bindings/scripts/test/JS/JSTestInterface.cpp:
3433         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3434         * bindings/scripts/test/JS/JSTestObj.cpp:
3435         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3436
3437 2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>
3438
3439         Let plugins participate in form submission
3440         https://bugs.webkit.org/show_bug.cgi?id=13061
3441
3442         Implements HTMLObjectElement::appendFormData() so that object
3443         elements respond as form associated elements.
3444
3445         Reviewed by Anders Carlsson.
3446
3447         Test: plugins/form-value.html
3448
3449         * html/HTMLObjectElement.cpp:
3450         (WebCore::HTMLObjectElement::appendFormData): Implemented.
3451         * plugins/PluginViewBase.h:
3452         (WebCore::PluginViewBase::getFormValue): Added.
3453
3454 2011-07-10  Anders Carlsson  <andersca@apple.com>
3455
3456         WebKit2 is leaking NSCursors created by leakNamedCursor
3457         https://bugs.webkit.org/show_bug.cgi?id=64241
3458         <rdar://problem/9507151>
3459
3460         Reviewed by Oliver Hunt.
3461
3462         * platform/mac/CursorMac.mm:
3463      &n